EXCEL VBA Zeile ausblenden in Abhängigkeit von Text in einer Zelle

...komplette Frage anzeigen

1 Antwort

bei "*-T" muss es nicht = heißen, sondern like

also

If Cells(i, 2).Value Like "*-T" Then

der Unterschied ist, dass du nicht nach "entspricht" suchst, sondern nach "enthält"

Genial! Genau das war's!

Der Code nun richtig für die Nachwelt:

Sub DatenAusblenden() Dim i Application.ScreenUpdating = False For i = 12 To 300 If Cells(i, 2).Value Like "-T" Then Rows(i).EntireRow.Hidden = True ElseIf Cells(i, 2).Value Like "-G" Then Rows(i).EntireRow.Hidden = True End If Next i Application.ScreenUpdating = True End Sub

Ganz herzlichen Dank!

0
@HeLy8499

Wenn du das nächste mal einen Code hier online stellst, wäre es noch besser, wenn du das Ganze als Codebeispiel einfügst, dann behälst du die Formatierung bei

1
@ShitzOvran

Ein bisschen optimiert:

Sub DatenAusblenden()
Dim i

Application.ScreenUpdating = False

For i = 12 To 300
    If Cells(i, 2).Value Like "*-T" Or _
       Cells(i, 2).Value Like "*-G" Then
        
        Rows(i).EntireRow.Hidden = True
    
    End If
Next i

Application.ScreenUpdating = True

End Sub
0
@ShitzOvran

oder noch besser, du arbeitest mit

 If Cells(i, 2).Value Like "*-?" Then

(wenn es immer soetwas ist wie "bla bla strich irgendein Buchstabe") dann kannst du dir das "or" sparen

0
@ShitzOvran

DH!

Nur noch eine kleine weitere Optimierung vielleicht:

Sub DatenAusblenden()
Dim Zelle As Range

Application.ScreenUpdating = False

For Each Zelle In Range("B12:B300")
    If Zelle.Value Like "*-T" Or _
       Zelle.Value Like "*-G" Then
        
        Zelle.EntireRow.Hidden = True
    
    End If
Next Zelle

Application.ScreenUpdating = True

End Sub
0
@Oubyi

Na wenn das so ist xD

Sub DatenAusblenden()
Dim Zelle As Range

Application.ScreenUpdating = False

For Each Zelle In Range("B12:B300")
    If Cells(i, 2).Value Like "*-?" Then
        
        Zelle.EntireRow.Hidden = True
    
    End If
Next Zelle

Application.ScreenUpdating = True

End Sub
0
@ShitzOvran

Gefährlich!

Zudem muss ich nachher das noch erweitern auf die Bedingung -T ODER -G.

Like "*-?" 

blendet auch -X aus.
Außerdem gibt es Probleme, wenn -T in Mitten des Texts steht. Eigentlich müsste ans Ende auch noch ein Stern.

0
@Suboptimierer

deswegen der Hinweis:

(wenn es immer soetwas ist wie "bla bla strich irgendein Buchstabe")

aber ich gebe zum, vllt hätte ich das noch dazuschreiben sollen. Da er allerdings geschrieben hat

Zudem muss ich nachher das noch erweitern auf die Bedingung -T ODER -G.

wäre es nicht sinnvoll am Ende noch ein Stern zu setzen

0

Was möchtest Du wissen?