このマクロは、同じブックの2つのワークシート内の2つの異なる行のセルを比較する必要があります。セルの値が3番目のワークシートの同じ値を持つセルの行と一致する場合、同じブックが削除される必要があります。2つの異なるシートの2つのセルが同じ場合にシート内の行を削除する
比較されるシートでは、式はありますがシートにはありません。行は削除する必要があります。
問題は、3枚目のシートのセルを削除しないということです。 比較が機能することを示唆するコードを挿入しました。しかし、コードはランダムに削除するようだ。
は、私は次の(およびいくつかの他の人が私はもうリンクを持っていけないし、)リンクから解決策を試してみました:コードを使用する場合にはHow to compare columns from two different excel workbooks
Compare 2 cells in different sheets in VBA(Excel 2010)
Sub Vergleich_alter_Kundenausdruck_mit_aktuellen_Werten_V3()
Application.ScreenUpdating = False
Dim Sht1LastRow As Long
Dim i As Long
Dim j As Long
Set s1 = Sheets("Konditionen")
Set s2 = Sheets("Konditionseingabeausdruck")
Set s3 = s2.Next
Sht1LastRow = Sheets("Konditionen").Cells(65536, 1).End(xlUp).Row
For i = Sht1LastRow To 15 Step -1
If IsEmpty(s1.Cells(i, 6)) = True Then GoTo leer:
If s3.Cells(i, 5).Value <> s1.Cells(i, 6).Value Then
s1.Cells(i, 10).Value = s3.Cells(i, 5).Value
ElseIf s3.Cells(i, 5).Value = s1.Cells(i, 6).Value Then
s2.Cells(i, 6).EntireRow.Delete
s1.Cells(i, 9).Value = s3.Cells(i, 5).Value
Else
GoTo leer:
End If
leer:
Next i
Application.ScreenUpdating = True
End Sub
使用する必要があります、またはそれだけで台無しになります。 – braX
答えbraxありがとう!私はi = ...をEgan Wolfが下に投稿したやり方に変更しましたが、今はそれを働かそうとしています。 –
私はEgan WolfとbraXからのバックワードカウントを実装したソリューションで私の質問を編集しました。それだけで問題は解決しなかったけど、私を正しい方向に向ける。 私は2番目の変数jの使用からiだけの使用に切り替えました。 コードにはまだいくつかの問題がありますが、私は死んだポイントを乗り越えました!あなたのおかげで両方。 –