アプリ版:「スタンプのみでお礼する」機能のリリースについて

なんとか今週中にしあげなければならない状況で、ご存知の方がいらっしゃれば助けていただければと思います。
O4~O列に入力データがあり、P4からP列に結果入力が有ります。O4をコピーしてE9にペーストするとG22に結果が出ます、その結果G22をコピーしてP4にペーストをする。
マクロの記録で行うと次の様になります。
Range("O4").Select
Selection.Copy
Range("E9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G22").Select
Application.CutCopyMode = False
Selection.Copy
Range("P4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
O5・P5、O6・P6・・・と繰り返してコピーをしていき、データがなくなったらループを修了するという記述をしたいのですが、わかりません。データー数は10000個程度有ります。
いろいろネットで探してみたのですが、55歳の頭では、ちんぷんかんぷんです。

どなたか教えていただけませんでしょうか。
宜しくお願いいたします。

A 回答 (2件)

こんにちは!



コードを拝見するとP列には必ずG22セルの値を表示させればよいのでしょうか?
そうであれば、値のコピー&ペーストになっていますので、
単に値の代入の方が早いと思います。

Sub Sample1()
Dim i As Long
For i = 4 To Cells(Rows.Count, "O").End(xlUp).Row
Range("E9") = Cells(i, "O")
Cells(i, "P") = Range("G22")
Next i
End Sub

こんな感じではどうでしょうか?

※ G列もループさせる必要があるような気がしますが、お示しのコードから判断できるのは
この程度でしょうかね。m(_ _)m
    • good
    • 0
この回答へのお礼

早速、ありがとうございました。試して見ましたが完璧にしょりされました。本当に助かりました。

お礼日時:2016/02/03 14:41

お急ぎということなので、最低限の改修です。


改修したには、下記の「←追加」「←修正」の部分です。
それから、この手のご質問は、Excel(エクセル) のカテゴリに
上げた方が、レスポンスが良いですよ。


Dim I As Long '←追加
Application.ScreenUpdating = False '←追加
For I = 4 To Range("O4").End(xlDown).Row '←追加
Range("O" & I).Select '←修正
Selection.Copy
Range("E9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("G22").Select
Application.CutCopyMode = False
Selection.Copy
Range("P" & I).Select '←修正
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next I '←追加
Application.ScreenUpdating = True '←追加
    • good
    • 0
この回答へのお礼

早速、ありがとうございました。

お礼日時:2016/02/03 14:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!