これでエラー9の下付き文字が範囲外になりました。 iとiiの両方が3の場合は値を表示します。これはデータをどの行から開始するかです。私が理解することができる最高は私Excel - シート間のデータの比較と移動
すぎ
lastblankrow = lastRowPrev + 1
For i = 3 To lastRowReport
For ii = 3 To lastRowPrev
If Worksheets("UPT Report").Cells(i, 1).Value = Worksheets("UPT Prev").Cells(ii, 1).Value Then
Worksheets("UPT Prev").Range(Worksheets("UPT Prev").Cells(ii, 1), Worksheets("UPT Prev").Cells(ii, 22)).Value = _
Worksheets("UPT Report").Range(Worksheets("UPT Report").Cells(i, 1), Worksheets("UPT Report").Cells(i, 22)).Value
Else
Worksheets("UPT Prev").Range(Worksheets("UPT Prev").Cells(lastblankrow, 1), Worksheets("UPT Prev").Cells(lastblankrow, 22)).Value = _
Worksheets("UPT Report").Range(Worksheets("UPT Report").Cells(i, 1), Worksheets("UPT Report").Cells(i, 22)).Value
lastblankrow = lastblankrow + 1
End If
次II 次のコードを調整した後
For i = 3 To lastRowReport
For ii = 3 To lastRowPrev
If Worksheets("UPT Report").Cells(i, 1).Value = Worksheets("UPT Prev").Cells(ii, 1)
Then
Worksheets("UPT Prev").Range(Cells(ii, 1), Cells(ii, 22)).Value =
Worksheets("UPT Report").Range(Cells(i, 1), Cells(i, 22)).Value
Else
Worksheets("UPT Report").Range(Cells(i, 1), Cells(i, 22)).Copy
Worksheets("UPT Prev").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PastSpecial xlPasteValues
End If
Next ii
Next i
を報告UPTと同じです前のレポートからデータを読み取ることができ、そのことです現在はデータを移動していますが、行を2倍にしています。
ので、2行は行ごとに追加される1
現在追加されているべきであるHERESにいただきましたこと、最初の2行は、この作業を行いどのようにマクロを実行する前に所定の位置に
1 Test Test Mgr -12 Test 1
2 Test Test Mgr -13 Test 1
1 Test Test Mgr -12 Test 1
2 Test Test Mgr -13 Test 1
3 Test Test Mgr -12 #N/A
3 Test Test Mgr -12 #N/A
4 Test Test Mgr -12 #N/A
4 Test Test Mgr -12 #N/A
5 Test Test Mgr -12 #N/A
5 Test Test Mgr -12 #N/A
6 Test Test Mgr -12 #N/A
6 Test Test Mgr -12 #N/A
7 Test Test Mgr -12 #N/A
7 Test Test Mgr -12 #N/A
8 Test Test Mgr -12 #N/A
8 Test Test Mgr -12 #N/A
9 Test Test Mgr -12 #N/A
9 Test Test Mgr -12 #N/A
10 Test Test Mgr -12 #N/A
10 Test Test Mgr -12 #N/A
12 Phil Zkim 12 #N/A
12 Phil Zkim 12 #N/A
エラーはどの回線で発生しますか?私はそれが最初のループの内側にあると賭けるつもりです...あなたは常に*すべての範囲をワークシートで修飾する必要があります。範囲(ワークシート(UPT Prev))、セル(ii、1)、ワークシート( "UPT Prev")、セル(ii、22)).Valueなど – BruceWayne
は最初の繰り返しで添字を範囲外にします。 – Humbrol2
私が投稿した答えはまだエラーを投げますか? – BruceWayne