2016-06-07 14 views
0

Code hier eingebenIch bin komplett neu in VBA und bereite ein Makro für die Automatisierung von täglichen Aktivitätsberichten vor. Ein Teil des Berichts filtert die Daten basierend auf bestimmten Werten und kopiert sie in eine andere Arbeitsmappe. Ich bin hier fest und brauche deine Hilfe. Spalte x hat "Namen der Kunden", aber möglicherweise leere Felder, Daten und ID-Nummern.Verwenden von Autofilter zum Filtern von Leerzeichen und numerischen Werten

Ich fand heraus, leere Felder zu filtern, aber nicht in der Lage zu finden, wie Daten & ID-Nummern oder in allgemeinen Zahlen zu filtern.

Dies ist der Code Ich verwende:

range("A1").AutoFilter field:=21, Criteria1:=Array(""), Operator:=xlFilterValues 

Termine können 2016.05.28 ID-Nummern können 292051102901

Ich habe ähnliche Beiträge gesucht werden, aber konnte ihn nicht finden.

Bitte lassen Sie mich wissen, wenn zusätzlicher Code freigegeben werden muss oder eine Beispieldatei funktioniert. Snippet of data

+0

Haben Sie versucht, eine Makroaufnahme beim Ändern/die Filtereinstellung? Der resultierende Code könnte Ihnen sagen, wie Sie es manuell tun. Es ist ein Trick, der manchmal funktioniert, nicht immer. – pintxo

+0

Vielleicht ist die Antwort von @Jeeped im Beitrag [Mehrere Filterkriterien für Leerzeichen und Zahlen mit Wildcard auf demselben Feld funktioniert einfach nicht] (http://StackOverflow.com/Questions/30364635/Multiple-Filter-criteria-for- Leerzeichen und Zahlen mit Wildcard-on-same-field-jus können Ihnen bei der Ausarbeitung der Lösung helfen. – skkakkar

+0

@pintxo ja Ich habe versucht, Makro-Aufnahme, aber es erfasst die spezifischen Werte aus den Zellen. Ich benötige das Format dieser Werte, da sich diese Werte ändern. –

Antwort

0

Arbeit um:
Das half mir das Einfügen einer anderen Spalte zu vermeiden und filtern sie durch Zielwerte Zwei Kriterien.
1. Zellen, die 'Blanks' enthalten, werden mit einer bestimmten Farbe formatiert. 2. Zellen, die einen Wert zwischen '0' & '999999999999' enthalten, werden mit der gleichen Farbe des ersten Kriteriums formatiert und dann nach Farbe gefiltert.
Gebrauchte Makro-Recorder und bekam den Code: -

Columns("U:U").Select 
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _ Formula1:="=0", Formula2:="=999999999999" 

Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 

With Selection.FormatConditions(1).Font 
.Bold = True 
.Italic = False 
.ThemeColor = xlThemeColorAccent6 
.TintAndShade = -0.499984740745262 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= "=LEN(TRIM(U1))=0" 
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
With Selection.FormatConditions(1).Font 
.Bold = True 
.Italic = False 
.ThemeColor = xlThemeColorAccent6 
.TintAndShade = -0.499984740745262 
End With 
Selection.FormatConditions(1).StopIfTrue = False 
range("U4").Select 
Selection.AutoFilter range("A1").AutoFilter field:=21, Criteria1:=RGB(151, 71, 6), operator:=xlFilterFontColor 
Verwandte Themen