下記のように、1つの値をコピーし、別シートの複数個所(同じ列の違う行)へ順次ペーストしたいのですが、貼付けデータやペースト箇所が増えた場合でも対応できるようなVBAを教えてください。
よろしくおねがいいたします。
=========================================================
Sub コピペ()
'←1人目をコピー
Worksheets("“コピー元シート”").Range("B7").Select
Selection.Copy
'←貼付け
Worksheets(“貼付シート”).Range("B9", "B37", "B65", "B93", "B121", "B149", "B177").Select
Selection.PasteSpecial Paste:=xlPasteFormulas
'←2人目をコピー
Worksheets("“コピー元シート”").Range("B8").Select
Selection.Copy
'←貼付け
Worksheets(“貼付シート”).Range("B11", "B39", "B67", "B95", "B123", "B151", "B179").Select
Selection.PasteSpecial Paste:=xlPasteFormulas
'←3個の値をコピー
Worksheets("“コピー元シート”").Range("B9").Select
Selection.Copy
'←貼付け
Worksheets(“貼付シート”).Range("B13", "B41", "B69", "B97", "B125", "B153", "B181").Select
Selection.PasteSpecial Paste:=xlPasteFormulas
'←4個の値をコピー
Worksheets("“コピー元シート”").Range("B10").Select
Selection.Copy
'←貼付け
Worksheets(“貼付シート”).Range("B15", "B43", "B71", "B99", "B127", "B155", "B183").Select
Selection.PasteSpecial Paste:=xlPasteFormulas
'←5個の値をコピー
Worksheets("“コピー元シート”").Range("B11").Select
Selection.Copy
'←貼付け
Worksheets(“貼付シート”).Range("B17", "B45", "B73", "B101", "B129", "B157", "B185").Select
Selection.PasteSpecial Paste:=xlPasteFormulas
End Sub
No.3ベストアンサー
- 回答日時:
この回答への補足
ご回答ありがとうございます。
いただいたマクロを実行したところ、B27~、B45~、B63~、B81~にも同じ形式の表があり、そこへのコピペがズレてしまったので再度質問させていただきました。
お手数お掛けいたしますが、よろしくお願い致します。
ご回答ありがとうございました。
私のペーストの場所の修正ミスでコピペがずれており大変申し訳ございませんでした。
おかげ様で、思っていた通りの結果を得ることができました!
こちらのVBAを活用させていただきたいと思っております。
本当にありがとうございました(#^.^#)
No.2
- 回答日時:
こんにちは。
>貼付けデータやペースト箇所が増えた場合
具体的な内容がないと、すぐには分からないけれども、一応、人数分が増えるということを想定して作りました。貼り付ける場所は、それぞれの位置に、1行置きに貼り付けるという条件です。
FormulaLocalにしているのは、一般的に、日付式などが入る場合を想定しています。iCOUNT As Long =の所に、人数を入れてください。試してみてください。
なお、まるっきり動かないマクロを掲示されるよりも、細かな情報を与えていただいたほうがよいです。
'//
Sub TestFormulaPaste()
Dim mRanges As Range
Dim i As Long
Const iCOUNT As Long = 5 '人数を入れる
'ペーストの場所
Set mRanges = Worksheets("貼付シート").Range("B9, B37, B65, B93, B121, B149, B177")
For i = 0 To iCOUNT - 1
mRanges.Offset(i * 2).FormulaLocal = Worksheets("コピー元シート").Range("B7").Offset(i).FormulaLocal 'コピー元の最初の場所
Next i
Set mRanges = Nothing
End Sub
'//
No.1
- 回答日時:
1~5のコピーをする条件を記載しないと回答出来ません。
どういう条件でコピー回数を判断するのでしょうか。
例えば、B9の数式で数値が表示された場合は2箇所コピーする。という事が必要です。
この回答への補足
ご回答ありがとうございます。
私の説明が足りず申し訳ございませんでした。
下記URLに画像を添付しましたので、お手数お掛けいたしますが、よろしくお願い致します。
http://okwave.jp/qa/q8534657.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
【VBA】コピー&複数個所のペースト繰り返し
Excel(エクセル)
-
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
マクロについて 複数セルの値を別シートの任意のセルにコピー貼り付けしたい
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ
Excel(エクセル)
-
6
エクセル VBA 指定の範囲内をコピー 複数行あけて貼り付けを指定範囲内で
Excel(エクセル)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
9
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
10
エクセルVBAで、行コピーを複数行にペーストする方法
Excel(エクセル)
-
11
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
12
同じ作業を複数のシートに実行させるにはどうしたらいいのでしょうか
Visual Basic(VBA)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
15
マクロで貼り付け位置を可変させる方法が知りたいです。
Excel(エクセル)
-
16
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
17
i=cells(Rows.Count, 1)とi=cells(Rows.Count, 2)の違い
Visual Basic(VBA)
-
18
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
19
繰り返し1行~28行までを順順にコピーする方法
Visual Basic(VBA)
-
20
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 関数を使ってデータと一...
-
エクセルの選択範囲以外を削除...
-
EXCELのVBAでシートコピーをし...
-
エクセルのワークシートをUSBメ...
-
【Excel】数式をそのまま他のシ...
-
EXCELで別のブックから式をコピ...
-
ExcelVBAで、ユーザーフォーム...
-
エクセルVBA 1行飛ばしで転記す...
-
エクセルでシートを「移動また...
-
【VBA】コピー&複数個所のペー...
-
Excel 数式の保護をしたセルを...
-
【エクセル】プルダウン設定の...
-
VBA シートをコピー後、ボタン...
-
EXCEL VBA シートをコピーする...
-
エクセルシートを別のエクセル...
-
標準モジュール、フォームを別...
-
Excel シートに別のExcelシート...
-
【Excel VBA】シートコピー時、...
-
EXCEL2007でシートをコピーする...
-
エクセルの1シートの内容を複...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
【Excel】数式をそのまま他のシ...
-
エクセルの1シートの内容を複...
-
【VBA】コピー&複数個所のペー...
-
EXCELで別のブックから式をコピ...
-
【エクセル】プルダウン設定の...
-
Excel シートのコピーの際、ペ...
-
エクセルVBA 1行飛ばしで転記す...
-
Excel 数式の保護をしたセルを...
-
Excelの行をコピーして貼り付け...
-
エクセルのワークシートをUSBメ...
-
シートが保護されていないのに...
-
エクセルシートを別のエクセル...
-
VBA シートをコピー後、ボタン...
-
【Excel VBA】シートコピー時、...
-
Excel シートに別のExcelシート...
-
【スプレッドシートで】xlsx形...
-
PDFファイルをコピーしてエクセ...
おすすめ情報