トップページ > プログラム > 2015年11月27日 > ueGoHWsY

書き込み順位&時間帯一覧

31 位/212 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000100001002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
977
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
977 :デフォルトの名無しさん[sage]:2015/11/27(金) 16:58:24.01 ID:ueGoHWsY
sheet2のA5〜A3800まで1000〜9999までの数字が重複なくランダムにあり、
sheet1のA2〜A5500まで1000〜9999までの数字が重複なくランダムにある状態で、
sheet1とsheet2のAセルの値が一致した場合、一致した行のsheet2のD〜Gセルの値を一致した行のsheet1のD〜Gセルに
入れたいのですが、下記の2重ループだと時間がかかってしまいます。
もっと時間を短縮したいのですが、何か方法はないでしょうか?

Sub test()
Application.ScreenUpdating = False

With Worksheets("sheet1")
For rw = 2 To 5500
For cnt = 5 To 3800
If .Cells(rw, 1).Value = Cells(cnt, 1).Value Then
.Cells(rw, 4).Value = Cells(cnt, 4).Value
.Cells(rw, 5).Value = Cells(cnt, 5).Value
.Cells(rw, 6).Value = Cells(cnt, 6).Value
.Cells(rw, 7).Value = Cells(cnt, 7).Value
Exit For
End If
Next
Next
End With

Application.ScreenUpdating = True
End Sub
Excel VBA 質問スレ Part38 [転載禁止]©2ch.net
985 :977[sage]:2015/11/27(金) 21:08:32.35 ID:ueGoHWsY
>>978->>982
皆さんレスありがとうございました。
特に>>979さん、>>982さんのコードで以前の100分の1程度の時間で完了できるように
なり、これでやりたいことがかなり効率的にできるようになりました。
本当にありがとうございました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。