質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

295閲覧

VBAのFor文の繰り返しについて

keeper201k

総合スコア7

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2022/05/17 16:01

B3:H3の範囲を1行おきにコピーしてそれをJ2に貼り付けたい。
B5:H5の範囲を1行おきにコピーしてそれをJ4に貼り付けたい。
この操作を200行までループしたい。

イメージが下記の状態です(少し違いますが)
A B C D E F G H I J
1 品名 12/1 12/2 12/3 12/4 12/5 12/6
2 みかん 10 10 10 10
3 10 10 10 10
4 りんご 1 2 3
5 1 2 3
6 いちご

For文にて宣言を行うも
貼り付けた際に空白行がつぶれてしまったり、実行時にフリーズしてしまったりでうまく行きません。

=====試したコード=====
For i = 2 To 200 Step 2
Range(Cells(i, 2), Cells(i, 7)).Select
Selection.Copy
Cells(i -1, 10).Select
ActiveSheet.Paste
Next i

恐れ入りますが、ご教示いただけますと幸いです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2022/05/17 16:25

コードは「コードの挿入」で記入してください。 > B3:H3の範囲を1行おきに > B5:H5の範囲を1行おきに 元の範囲が1行ですがどういうことでしょうか?
keeper201k

2022/05/18 02:21

2行おきにでした。私の誤りでした申し訳ございません。
guest

回答1

0

ベストアンサー

提示されたコードはクリップボードを経由してコピーするものですが、クリップボードのアクセスはコストが比較的高い処理です。
クリップボードを経由せず、直接コピーするといいと思います。

VBA

1 Application.ScreenUpdating = False 2 For i = 2 To 200 Step 2 3 Range(Cells(i, 2), Cells(i, 7)).Copy Cells(i - 1, 10) 4 Next i 5 Application.ScreenUpdating = True

投稿2022/05/17 16:27

KOZ6.0

総合スコア2626

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

keeper201k

2022/05/18 02:10

回答頂きありがとうございます。 こちらでうまく出来ました。 もう1点質問させてください。 こういった繰り返し処理の動作が重くなってしまうのは仕方ない事なのでしょうか? 頂いたコードでも20~30秒程、コピーペーストに時間がかかってしまい、もう少し早く出来たらと思っています。 贅沢を申し上げて申し訳ございません。
KOZ6.0

2022/05/18 03:57

セルの情報をすべてコピーしているので値のみコピーするならもう少し速くできるとは思いますが、この処理で 20~30 秒はかかりすぎです。 PCのスペックを見直したほうがいいのでは。
keeper201k

2022/05/19 09:13

お返事ありがとうございます。 なるほどです。PCスペックは問題無いので他のコードの問題かもしれません。 回答頂きましてありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問