![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
マクロの記録にて全て同じ動作を記録するぐらいのレベルで200以上の繰り返し作業は色々調べましたが難しく解る方いらっしゃいましたら教えて下さい。
内容は
*sheet 1 E6 コピー
sheet 2 A2 貼り付け
*sheet 1 H6 コピー
sheet 2 E2 貼り付け
*sheet 1 I 6 コピー
sheet 2 C5 貼り付け
sheet 2 C29:D29 コピー
*sheet 1 L6:M6 貼り付け
この動作が一回で
*印のセルが6~200まで繰り返したいのですが教えて下さい。
No.4ベストアンサー
- 回答日時:
Sub 繰り返し()
Dim 位置 As Long
For 位置 = 6 To 200
Sheets("Sheet2").Range("A2").Value = Sheets("Sheet1").Cells(位置, 5).Value
Sheets("Sheet2").Range("E2").Value = Sheets("Sheet1").Cells(位置, 8).Value
Sheets("Sheet2").Range("C5").Value = Sheets("Sheet1").Cells(位置, 9).Value
Sheets("Sheet1").Cells(位置, 12).Value = Sheets("Sheet2").Range("C29").Value
Sheets("Sheet1").Cells(位置, 13).Value = Sheets("Sheet2").Range("D29").Value
Next
End Sub
※「Cells(位置, ○)」の「位置」は行番号、「○」は列番号です。今回は列は変更しないのであまり意味はありませんが、行のように変化する場合は、「列記号」よりも今回のように「列番号」を使った方が便利なのでこちらで覚えた方が良いです。
No.3
- 回答日時:
こんにちは
回答ではありません。(補足のお願いです)
基本的には繰り返しの回数だけループすれば良いのですが・・・
セルをずらしながらと言うことでしょうが、Sheet1、Sheet2とも行方向に下に1セルずつずらしてゆけば良いのでしょうか?(まれにSheet2は列方向にとか、1行おきにとかありますので)
また、仮に行方向に1セルずつずらすとすると
>sheet 2 C5 貼り付け
>sheet 2 C29:D29 コピー
となっているので、C5→C199の順に貼り付ける途中でC29~を上書きして行くことになります。
・・ということは、処理の順が行を下方に処理して行くのと、下方から上方向に処理して行くので結果が異なりますし、普通はやらないと思いますが、
>*sheet 1 E6 コピー
>sheet 2 A2 貼り付け
を194回処理してから、
>*sheet 1 H6 コピー
>sheet 2 E2 貼り付け
を194回処理…
・・・・
といった手順で処理するのでも結果は異なることになります。
普通に上から下方に順に処理するので良いのでしょうか??
質問文でご提示のシート名には数字の前にスペースが入っていますが、スペースがあるのが正しいでしょうか?
(通常のデフォルトのシート名にはスペースが無いので)
No.1
- 回答日時:
変数とかはご存知でしょうか?
プログラムの基本ですから調べて勉強された方が良いです。
「For Next 文」を使えば実現しそうです。
ご質問で「○6」の物は 200になるまで繰り返されるのはよく判るのですが、他の数字も同じ数だけ増えると言う事で良いのでしょうか?
もしそれならば、以下の事と同じだと思うのですがいかがでしょうか?
sheet 1 E6:E200 の範囲をコピー
sheet 2 A2 に貼り付け
sheet 1 H6:H200 の範囲をコピー
sheet 2 E2 に貼り付け
sheet 1 I6:I200 の範囲をコピー
sheet 2 C5 に貼り付け
sheet 2 C29:D235 の範囲をコピー
sheet 1 L6 に貼り付け
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Excel(エクセル) エクセルでのコピーペースト 6 2022/09/03 07:14
- Excel(エクセル) 【Excel質問】別シートにある複数の同型の表から、同じ行項目にある数字を集計する 4 2023/02/16 00:14
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- Visual Basic(VBA) VBAでvlookup関数から、別シート参照するやり方・・・ 2 2022/11/14 18:49
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
塗りつぶしの色をコピーするには
-
PDFの一部を切り取って別のシー...
-
C+vのvは英語で何の頭文字...
-
WORDのグレー括弧って?
-
VBAのテキストボックスに文字列...
-
Excel 3列毎のセルを別の表に抽...
-
セルに値がある行のみを抽出す...
-
【エクセル】表の中の文字だけ...
-
コピーされたセルの文字が途中...
-
エクセルで値だけを移動するこ...
-
xpsファイルをexcelに張り付けたい
-
マイナスの場合「xxxx-」...
-
空白行を無視してコピーするマ...
-
EXCEL 1つ飛ばしのセル参照
-
Wiresharkのパケットの詳細のテ...
-
Excel2010 図としてコピー ショ...
-
エクセルのやり方についての質...
-
マクロのコピー&ペーストの繰り...
-
数式による空白を無視して最終...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
塗りつぶしの色をコピーするには
-
PDFの一部を切り取って別のシー...
-
C+vのvは英語で何の頭文字...
-
【エクセル】表の中の文字だけ...
-
Excel 3列毎のセルを別の表に抽...
-
VBAのテキストボックスに文字列...
-
セルに値がある行のみを抽出す...
-
WORDのグレー括弧って?
-
セルから一部だけを抜き出して...
-
コピーされたセルの文字が途中...
-
EXCEL 1つ飛ばしのセル参照
-
エクセルでコピーしたものをコ...
-
数式による空白を無視して最終...
-
Word(Offce365)の不思議な現...
-
コピー&貼り付けの仕方を教え...
-
空白行を無視してコピーするマ...
-
マイナスの場合「xxxx-」...
-
【Excel】数式をそのまま他のシ...
-
エクセルでマクロにてセル色と...
おすすめ情報
説明不足で申し訳ありません。
sheet 2の指定セルにsheet 1からコピーした値から色々計算された数値がsheet 2のC29とD29に反映されるので、その数値をsheet 1に値のみを貼り付けしたいのです。
sheet 2のセルの位置は固定で
sheet 1に関しては行方向に1づつ下方向に貼り付けしていきたいです。