こんにちは、ARTICLE が同じで空白でない場合、列 VALUES1、VALUES2、VALUES3 の値をコピーするマクロを実行しています。
最初のスプレッドシートがあり、マクロが 2 番目のスプレッドシートを返すようにします。
私はそれを作る方法を管理しました:
Sub test()
Dim i, last, j, x As Integer
Dim R As Range
last = Sheets("List2").Range("A100000").End(xlUp).Row - 2
For i = 0 To last
Set R = Sheets("List2").Range("A2")
If Not WorksheetFunction.CountIf(Sheets("List2").Columns(1), _
Sheets("List2").Range("A2").Offset(i, 0).Value) = 0 Then
For j = 1 To WorksheetFunction.CountIf(Sheets("List2").Columns(1), _
Sheets("List2").Range("A2").Offset(i, 0).Value)
Set R = Sheets("List2").Columns(1).Find(Sheets("List2").Range("A2"). _
Offset(i, 0).Value, R, LookAt:=xlWhole)
For x = 0 To 2
If Not Sheets("List2").Range("B2").Offset(i, x).Value = "" Then
R.Offset(0, "1" + x).Value = Sheets("List2"). _
Range("B2").Offset(i, x).Value
End If
Next x
Next j
End If
Next i
End Sub
しかし、時間がかかりすぎるという問題があります。約 10,000 行と 20 列があり、さらにスプレッドシートが整っていないため、(A、B、B、A、.. .)
より速くまたはより良くする方法はありますか???
どうもありがとう。テーマストーン。