
VBAをはじめたばかりの初心者です。
業務でマクロ処理をするよう言われましたが、苦戦しております。
なんとか今週中にしあげなければならない状況で、ご存知の方がいらっしゃれば助けていただければと思います。
1行目・・・項目が記載されています。
2行目以降・・・A列~G列・I~K列に住所などの情報があり、H列とL列にはとある計算式をいれています。
件数は約500件(500行)程度で、毎回変更します。
H2とL2に計算式を入れて、
セルH2の値をH3にコピー、セルL2の値をL3にコピーするマクロが自動記録で次のようにできました。
Range("H2").Select
Selection.Copy
Range("H3").Select
ActiveSheet.Paste
Range("L2").Select
Application.CutCopyMode = False
Selection.Copy
Range("L3").Select
ActiveSheet.Paste
これを、H4・L4、H5・L5・・・・と繰り返してコピーをしていき、データがなくなったらループを修了するという記述をしたいのですが、わかりません。
いろいろネットで探してみたのですが、データ数を指定するやり方(?)ではなく、「Do~Loop」を使った方法でやりたいと思っております。
どなたか教えていただけませんでしょうか。
宜しくお願いいたします。
No.4ベストアンサー
- 回答日時:
方法はいくつかあると思いますが。
。。'-------------------------------------
Sub Test1()
Dim Lastrow As Long
Lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Range("H2").AutoFill Range("H2:H" & Lastrow)
Range("L2").AutoFill Range("L2:L" & Lastrow)
End Sub
'--------------------------------------
Sub Test2()
Dim Lastrow As Long
Lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Range("H2").Copy Range("H3:H" & Lastrow)
Range("L2").Copy Range("L3:L" & Lastrow)
End Sub
'-----------------------------------
Sub Test3()
Dim R As Long
For R = 3 To Cells(Rows.Count, "A").End(xlUp).Row
Range("H2").Copy Cells(R, "H")
Range("L2").Copy Cells(R, "L")
Next R
End Sub
'---------------------------------
A列のデータで最終行を判断してます。
こんばんわ。
いろんな記述があるのですね。
直感で(?) Test3を試したところ、無事うまくいきました!
実は、HとLだけでなくコピーしたい列が複数ありましたので、
「Range("H2").Copy Cells(R, "H")」のように、
1行でシンプルに記述する方法は、とってもうれしいです!
本当にありがとうございます。
No.3
- 回答日時:
もう一つ、以下の操作も「マクロの記録」をしてみてください。
H2に数式を入れ、その後、記録スタートするとします。
1.H2~H10を選択(マウスを使っても、キーボードのShift+↓を使ってもOKです)
2.Ctrl+d
後はマクロの記録には出てきませんが、RangeやCellsを上手く使えばできます。
実際のデータを見ていないので確かなことは言えませんが、Do~Loopや For~to~Nextなどは使わなくてもできると思います。
こんばんわ。
たびたびありがとうございます。
Ctrl+dは、知りませんでした!
これは大変使えそうです。
Do~Loopや For~to~Nextを使わずにするやり方も習得したいと思います。
ありがとうございます。
No.1
- 回答日時:
こんばんは
以下の操作を「マクロの記録」してみてください。
1.A列の一番下のセルを選択
2.Ctrlキーを押しながら↑キーを押す。
マクロの記録ですともう少し長い記述となりますが、自分でVBAを書くと以下のようになります。
Cells(Rows.Count, "A").End (xlUp)
[A65536]を使わないのはバージョンが2003以前と2007のどちらでも対応できるようにするためです(もっとも、いずれの場合にも最後の行までデータを入れることはないという前提です)。
最後の行を知りたい場合には、
Cells(Rows.Count, "A").End(xlUp).Row
とします。
こんばんは。
早速のご回答ありがとうございます。
「End (xlUp)」を初めて知りました。
大変便利で、応用がききそうです。バージョンによっても記述が違うのですね・・・。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
高校生はアルバイトするべきだろうか?
-
【お題】動物のキャッチフレーズ
【お題】「百獣の王 ライオン」「実は動物界最強 カバ」は分かるけど、それはちょっとピンと来ないなと思った動物のキャッチフレーズ
-
限定しりとり
文字数6文字以上の単語でしりとりしましょう
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
人生で一番お金がなかったとき
人生で一番お金がなかったときって、どんなときでしたか?
-
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
-
繰り返し1行~28行までを順順にコピーする方法
Visual Basic(VBA)
-
VBA コピーして次の値まで貼り付けを繰り返す
Visual Basic(VBA)
-
-
4
エクセルVBA 4行飛ばしで転記するループ処理
Excel(エクセル)
-
5
VBA 連続行データを5行ずつ隣の列に貼り付ける
Excel(エクセル)
-
6
【VBA】コピー&複数個所のペースト繰り返し
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件に応じて特定の行を非表示...
-
Excel2007で、太字にした行のみ...
-
Excel にて非表示行を探すワー...
-
エクセルで自動的に・・・
-
「マクロ」の足し算の式を教え...
-
値貼り付けをしても書式も貼り...
-
行の入れ替えってどうするの?
-
wordのvbaでハイパーリンク設定...
-
excel ある部分だけをコピペし...
-
Excel2007 セルを右方向に削除...
-
エクセルで連番をマクロで
-
Excelでセル内の数式は残し値だ...
-
昨日、エクセルVBAで、隣のセル...
-
エクセルで、行ごとの並び替え...
-
エクセルで全ての数字間にカン...
-
エクセルで指定セル範囲内の画...
-
エクセル オートフィルタの抽...
-
エクセル2003でマクロをおこな...
-
Excelで連続した1以上の数値の...
-
【マクロ】セル内のテキストを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel2007で、太字にした行のみ...
-
条件に応じて特定の行を非表示...
-
Excel にて非表示行を探すワー...
-
エクセル VBA 小数点を含む数字...
-
excel ある部分だけをコピペし...
-
「マクロ」の足し算の式を教え...
-
Excel2007 セルを右方向に削除...
-
値貼り付けをしても書式も貼り...
-
Excelでセル内の数式は残し値だ...
-
Excel(VBA)データ入力に応じて...
-
wordのvbaでハイパーリンク設定...
-
エクセルで全ての数字間にカン...
-
エクセルで連番をマクロで
-
エクセル 列データは買えずに...
-
Excelで周期的に列を削除する方法
-
エクセル オートフィルタの抽...
-
エクセルで指定セル範囲内の画...
-
エクセルで特定の数字となる組...
-
昨日、エクセルVBAで、隣のセル...
-
VBA コピーを有効行までループ...
おすすめ情報