
下記のように、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【VBA】コピー&複数個所のペースト繰り返し
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
-
4
EXCELマクロで、シート間でのコピーペーストを繰り返す方法
Excel(エクセル)
-
5
VBA 数値を文字列として貼付したい
Excel(エクセル)
-
6
複数のセルをコピーし、別シートの任意のセルへペーストをするためのマクロ
Excel(エクセル)
-
7
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
8
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
9
マクロ自動コピペ 貼り付ける場所が変わる場合
その他(Microsoft Office)
-
10
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
11
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
12
エクセルVBAで、行コピーを複数行にペーストする方法
Excel(エクセル)
-
13
VBA 条件が一致した場合のみコピーする
その他(ビジネス・キャリア)
-
14
マクロについて 複数セルの値を別シートの任意のセルにコピー貼り付けしたい
Excel(エクセル)
-
15
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
16
エクセルVBA 4行飛ばしで転記するループ処理
Excel(エクセル)
-
17
繰り返し1行~28行までを順順にコピーする方法
Visual Basic(VBA)
-
18
一行おきにコピーするマクロが知りたい
Excel(エクセル)
-
19
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
20
UserForm1.Showでエラーになります。
工学
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
Excelの行をコピーして貼り付け...
-
EXCELで別のブックから式をコピ...
-
Excel シートのコピーの際、ペ...
-
エクセル関数組み込みデーター...
-
エクセルでシートを「移動また...
-
Excel 数式の保護をしたセルを...
-
エクセルシートを別のエクセル...
-
VBAで任意のファイルを読み出し...
-
ExcelVBAで、ユーザーフォーム...
-
PDFファイルをコピーしてエクセ...
-
エクセルVBAですが教えてくださ...
-
Excel VBA シートのコピー...
-
VBA 先頭文字の0(ゼロ)...
-
Excel VBA 複数シートを別ファ...
-
Excel 複数 シートコピー 同...
-
【エクセル】プルダウン設定の...
-
エクセルのユーザーフォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの行をコピーして貼り付け...
-
Excel 関数を使ってデータと一...
-
エクセルの選択範囲以外を削除...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
【エクセル】プルダウン設定の...
-
エクセルでシートを「移動また...
-
ExcelVBAで、ユーザーフォーム...
-
Excel 数式の保護をしたセルを...
-
エクセルの1シートの内容を複...
-
EXCEL2007でシートをコピーする...
-
PDFファイルをコピーしてエクセ...
-
CSVファイルについて質問です。
-
ページの設定を別シートにコピ...
-
エクセルシートを別のエクセル...
-
Excel シートのコピーの際、ペ...
-
【VBA】コピー&複数個所のペー...
-
VBA シートをコピー後、ボタン...
-
EXCEL VBA シートをコピーする...
-
エクセルVBA 1行飛ばしで転記す...
おすすめ情報