Excel VBA 勉強中です。 Excel VBA を利用して大量の行の処理をしたいのですが、時間がかかってしまい、場合によっては固まってしまうので困っています。 色々と調べながら自分で作ってみたのですが、少量の行で試しに行った時にはきちんと動いたのですが、大量の行で行った時には固まってしまう(動かなくなってしまう)ので困っています。 転記先(シート1)には番号とコードが入っていて、基データ(シート2)にある番号とコードが一致した場合のみ基シート(シート2)にある日付を転記先(シート1)へ転記させたいと思っています。 ・シート1にもシート2にもそれぞれ、データが10000行ぐらいあります。 シート1(転記先) D列 E列 I列 番号 コード 日付←転記させたいセル 12345 123 4/30 23456 234 34567 345 シート2(基データ) B列 G列 I列 番号 コード 日付 23456 123 3/31 12345 123 4/30 45678 345 5/1 Dim sh1, sh2 Set sh1 = Sheets("シート1") ’転記先 Set sh2 = Sheets("シート2") ’基データ d = sh1.Range("A65536").End(xlUp).Row On Error Resume Next For i = 2 To d r = 2 d1 = sh1.Cells(i, 4) & sh1.Cells(i, 5) d2 = sh2.Cells(r, 2) & sh2.Cells(r, 7) Do While d2 <> "" If d1 = d2 Then sh1.Cells(i, 9) = sh2.Cells(r, 9) Exit Do End If r = r + 1 d2 = sh2.Cells(r, 2) & sh2.Cells(r, 7) Loop Next i どこがいけないのか、教えていただけると大変助かります。
↧