
下記のように、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も見ています
-
【VBA】コピー&複数個所のペースト繰り返し
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
-
4
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
5
EXCELマクロで、シート間でのコピーペーストを繰り返す方法
Excel(エクセル)
-
6
複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ
Excel(エクセル)
-
7
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
8
excelで任意のセルを指定回数コピーペーストする方法を教えてください
Excel(エクセル)
-
9
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
10
マクロ自動コピペ 貼り付ける場所が変わる場合
その他(Microsoft Office)
-
11
繰り返し1行~28行までを順順にコピーする方法
Visual Basic(VBA)
-
12
一行おきにコピーするマクロが知りたい
Excel(エクセル)
-
13
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
14
VBA 条件が一致した場合のみコピーする
その他(ビジネス・キャリア)
-
15
マクロについて 複数セルの値を別シートの任意のセルにコピー貼り付けしたい
Excel(エクセル)
-
16
エクセルVBA 4行飛ばしで転記するループ処理
Excel(エクセル)
-
17
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
18
一行おきに貼り付ける 可能でしょうか
Visual Basic(VBA)
-
19
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
20
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 関数を使ってデータと一...
-
Excelの行をコピーして貼り付け...
-
エクセルの選択範囲以外を削除...
-
EXCELのVBAでシートコピーをし...
-
Excel シートのコピーの際、ペ...
-
エクセルでシートを「移動また...
-
PDFファイルをコピーしてエクセ...
-
エクセルの1シートの内容を複...
-
ExcelVBAで、ユーザーフォーム...
-
【エクセル】プルダウン設定の...
-
エクセルシートを別のエクセル...
-
【Excel VBA】シートコピー時、...
-
Excel シートに別のExcelシート...
-
CSVファイルについて質問です。
-
EXCELで別のブックから式をコピ...
-
エクセルの読み取り専用を修正...
-
行列の並び替え(ピボットテー...
-
エクセルのシートコピーした際...
-
教えて‼️ 画像データの移動及び...
-
【スプレッドシートで】xlsx形...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの行をコピーして貼り付け...
-
Excel 関数を使ってデータと一...
-
エクセルの選択範囲以外を削除...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
Excel シートのコピーの際、ペ...
-
エクセルでシートを「移動また...
-
【エクセル】プルダウン設定の...
-
エクセルのシートコピーした際...
-
エクセルシートを別のエクセル...
-
Excel 数式の保護をしたセルを...
-
エクセルの1シートの内容を複...
-
エクセルVBA 1行飛ばしで転記す...
-
CSVファイルについて質問です。
-
PDFファイルをコピーしてエクセ...
-
ページの設定を別シートにコピ...
-
ExcelVBAで、ユーザーフォーム...
-
【VBA】コピー&複数個所のペー...
-
エクセルのページをシートごと...
-
【Excel VBA】シートコピー時、...
おすすめ情報