PDA

Vollständige Version anzeigen : Spalte durchsuchen, andere Zelle in gleicher Zeile löschen


Klaudia95
23.08.2017, 11:56
Hallo Experten,

ich arbeite leider erst seit ein paar Tagen mit VBA und bin deshalb noch blutige Anfängerin. Ich hoffe jemand kann mir hier weiterhelfen. Wahrscheinlich ist das kein Problem für einen Experten in VBA.

Ich würde gerne mit einem Makro eine Spalte (C) nach einem Wort durchsuchen z.B. "Flasche" und in jeder Zeile mit dem Wort Flasche den Zelleninhalt einer anderen Spalte (W) löschen (also einfach mit "clearcontents").

Zum Beispiel "Falsche" steht in C2, also soll Zelleninhalt von W2 gelöscht werden.


Liebe Grüße
Klaudia

Silentwolf
23.08.2017, 12:27
Hallo Klaudia,
Sub Test()
Dim strFinde As String
Dim lngZeile As Long
Dim lngZeileMax As Long

strFinde = "Flasche"

With Tabelle1
lngZeileMax = .UsedRange.Rows.Count

For lngZeile = 2 To lngZeileMax
If .Cells(lngZeile, 3).Value = strFinde Then
.Cells(lngZeile, 23).Clear
Else

End If
Next lngZeile

End With

End Sub

so könnte es gehen.
Tabelle mußt Du halt anpassen.


mfg
Silentwolf

R J
23.08.2017, 12:30
@Silentwolf,

Vorsicht! Beim Löschen kannst Du nicht von oben nach unten laufen, Du musst von unten nach oben gehen, sonst verhedderst Du Dich in den Zeilen.

Korrekt muss die Schleife so gehen:
For lngZeile = lngZeileMax to 2 Step -1

Silentwolf
23.08.2017, 12:34
@R J,

Danke für den Hinweis!
Dachte wenn nur clear verwendet wird würde die Schleife auch so funktionieren .(
Na wieder was gelernt .)

Vielen Dank

Silentwolf

Klaudia95
23.08.2017, 16:54
@Silentwolf & @R J

Vielen Dank für eure Antworten, es funktioniert einwandfrei!!:)

Silentwolf
23.08.2017, 17:01
Hallo Klaudia,
na das freut mich und sicher auch R J ;)

mfg

Silentwolf

R J
23.08.2017, 19:51
...oh... na, wenn nur der Zellinhalt geleert werden soll, dann wäre Deine Lösung auch gegangen. Hatte nur das Löschen gelesen..., deshalb mein Einwurf...
Aber... hat ja nicht geschadet....;)