Ich versuche, eine bedingte Schleife Makro in Excel zu erstellen. Spalte B enthält einen Nachnamen, Spalte C enthält einen Vornamen und Spalte D enthält einen Vor- und Nachnamen. Ich versuche, das Makro zu bekommen, um festzustellen, wenn Spalte D = Spalte C + Spalte B.VBA-Code für bedingte Schleife
Wenn D = C + B, dann klare Inhalte von D.
also folgenden Arbeiten für eine einzelne Zeile:
Sub ClearContentsD()
If Range("D1").Value = Range("C1").Value + Space(1) + Range("B1") Then Range("D1").ClearContents
End Sub
es funktioniert nicht ohne den zusätzlichen Raum (1), und ich kann es nicht durch das ganze Arbeitsblatt Schleife erhalten:
Sub ClearContentsLoop()
Application.ScreenUpdating = False
Dim i As Long
For i = 1 To Rows.Count
Next i
Do While Cells(i, 4).Value = Cells(i, 3).Value + Space(1) + Cells(i, 2).Value
Cells(i, 4).ClearContents
Loop
Application.ScreenUpdating = True
End Sub
VBA mag Während mein Do nicht. Jede Hilfe würde sehr geschätzt werden.
CJ
Können Sie ein Beispiel dafür angeben, mit was der Code arbeitet? – Histerical
* VBA mag nicht meine Do While * ist keine Problembeschreibung, es sei denn, Sie sagen uns specificicall was * VBA * nicht gefällt **. Was bedeutet das konkret? –
Auch wenn Sie möchten, dass "John Smith" gleich "John" + "Smith" ist, benötigen Sie ein Leerzeichen, es sei denn, der Zellenwert enthält ein Leerzeichen nach "John". – Histerical