WENN die Spalte " AJ " enthält "Kunden" dann Filter Anwenden, die in B:B Sonst In VBA
Ich habe ein kleines script geschrieben in VBA. Sagen, ich habe die Daten in Excel-Arbeitsblatt (sheet1
) und filter anwenden, auf die bestimmte Bedingung. Wenn Spalte AJ:AJ
enthält das Wort "KUNDE", dann filter anwenden Bereich B:B
oder Else Msgbox("Customer NA")
. Ich bin derzeit mit dem code unten, aber es macht die Excel-freeze. Jede Hilfe wirklich dankbar.
Sub test()
For i = 1 To 1048576
Range("AJ" & i).Select
ss = Len(ActiveCell.Value)
For j = 1 To ss
dd = StrConv(Mid(ActiveCell.Value, j, 8), vbProperCase)
If dd = "Customer" Then
check = 1
check = 0
Range("AJ1").Activate
Selection.AutoFilter
Selection.End(xlToRight).Select
Range("AJ1").Select
ActiveSheet.Range("$A$1:$AQ$37518").AutoFilter Field:=36, Criteria1:= _
"=*Customer*", Operator:=xlAnd
Exit For
check = 0
Else
End If
Next j
If check = 1 Then
Exit For
Else
End If
Next i
End Sub
- Wo ist der code einfrieren? Haben Sie trat durch den code mit
Breakpoints
undF8
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist das einfrieren excel, weil du machst den Vergleich in etwa so ineffizient wie möglich 🙂 per Schleife über jeder Zeile (1048576) und dann jedes Zeichen in jeder Zelle in dieser Zeile.
Versuchen Sie stattdessen, mit dem range -
.Find
Methode: