Anzeige
Archiv - Navigation
1360to1364
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Filterkriterieren Array

Filterkriterieren Array
29.05.2014 19:57:24
Peter
Hallo zusammen,
ich habe einen VBA-Filter der gemäß eines Arrays filter. Da der Filter eine Schleife durchläuft referenziert das Array wiederum, weitere Zellen. Das besitzt die Dimension 12x3. Das funktioniert auch alles soweit.
Nun möchte ich aber nicht nach dem Gleichheitskriterium filtern, sondern nach dem Kriterium "Zelle enthält" filtern.
Hat jemand eine, wo und wie ich eventuell "*" & benutzen könnte.
Hier ein Auszug meines Codes:
Sheets("Import").Range("$A$1:$I$120").AutoFilter Field:=7, Criteria1:=Array(Sheets("Konsole").Cells(2 + j, 15).Value, Sheets("Konsole").Cells(2 + j, 16).Value, Sheets("Konsole").Cells(2 + j, 17).Value), Operator:=xlFilterValues

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filterkriterieren Array
29.05.2014 22:06:57
Raphael_H
Hallo Peter,
die Syntax für enthält ist
Criteria1:="=*1a*"
Somit würde das für dich heissen:

Sheets("Import").Range("$A$1:$I$120").AutoFilter Field:=7, _
Criteria1:=Array("*" & Sheets ("Konsole").Cells(2 + j, 15).Value & "*", _
"*" & Sheets("Konsole").Cells(2 + j, 16).Value & "*",_
"*" & Sheets("Konsole").Cells(2 + j, 17).Value)& "*", _
Operator:=xlFilterValues
Gruess
Raphael

AW: Filterkriterieren Array
30.05.2014 07:41:11
Peter
Hallo Raphael,
auf diese Art lässt sich der Code leider nicht mehr compilieren.
Ich schicke anbei den Auszug meines gesamten Sub:
Sub Sheets_erzeugen()
'Fachbereich
Dim fachbereich As String
Dim Sortierung As String
Dim j As Integer
For j = 0 To 10
fachbereich = Sheets("Konsole").Cells(3 + j, 8).Value
Sortierung = Sheets("Konsole").Cells(3 + j, 15).Value
Dim workbookname As String
Dim k As Integer
k = 0
'Überprüfen ob Fachbereich schon exisitiert
For i = 1 To Worksheets.Count
If Worksheets(i).Name = fachbereich Then
MsgBox Worksheets(i).Name & " ist bereits vorhanden!"
k = 1
Exit Sub
End If
Next i
If k = 0 Then
workbookname = ActiveWorkbook.Name
Range("G2").Select
Sheets("Import").Range("$A$1:$I$120").AutoFilter Field:=7, _
Criteria1:=Array("*" & Sheets("Konsole").Cells(2 + j, 15).Value & "*", _
"*" & Sheets("Konsole").Cells(2 + j, 16).Value & "*", _
"*" & Sheets("Konsole").Cells(2 + j, 17).Value) & "*", _
Operator:=xlFilterValues
Sheets("Import").Cells.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = fachbereich
Workbooks(workbookname).Sheets(fachbereich).Cells.PasteSpecial xlPasteValues
Workbooks(workbookname).Sheets(fachbereich).Cells.PasteSpecial Paste:=xlPasteFormats
ActiveSheet.Name = Sheets("Konsole").Cells(3 + j - 1, 8).Value
Columns.AutoFit
Rows("1:1").Select
Selection.AutoFilter
Application.CutCopyMode = False
Sheets("Import").Activate
End If
Next j

Anzeige
AW: Filterkriterieren Array
30.05.2014 07:50:00
Peter
Der Compiler meldet stets "Typen unverträglich". Fehlt nicht generell noch eine Klammer zu?

AW: Filterkriterieren Array
30.05.2014 07:52:41
Peter
Das fehlende Leerzeichen und die Klammer zu viel habe ich gelöscht.

AW: Filterkriterieren Array
30.05.2014 08:07:20
Peter
Hallo nochmal,
den Kompilierfehler habe ich gefunden. Das Ergebnis dieses Filterns ist jedoch verheerend, es wird keine einzige Spalte ausgefiltert.
Sub Sheets_erzeugen()
Dim fachbereich As String
Dim Sortierung As String
Dim j As Integer
For j = 0 To 10
fachbereich = Sheets("Konsole").Cells(3 + j, 8).Value
Sortierung = Sheets("Konsole").Cells(3 + j, 15).Value
Dim workbookname As String
Dim k As Integer
k = 0
'Überprüfen ob Fachbereich schon exisitiert
For i = 1 To Worksheets.Count
If Worksheets(i).Name = fachbereich Then
MsgBox Worksheets(i).Name & " ist bereits vorhanden!"
k = 1
Exit Sub
End If
Next i
If k = 0 Then
workbookname = ActiveWorkbook.Name
Range("G2").Select
Sheets("Import").Range("$A$1:$I$120").AutoFilter Field:=7, _
Criteria1:=Array("*" & Sheets("Konsole").Cells(3 + j, 15).Value & "*", _
"*" & Sheets("Konsole").Cells(3 + j, 16).Value & "*", _
"*" & Sheets("Konsole").Cells(3 + j, 17).Value & "*"), _
Operator:=xlFilterValues
'Sheets("Import").Range("$A$1:$I$120").AutoFilter Field:=7, Criteria1:=Array(Sheets(" _
Konsole").Cells(2 + j, 15).Value, Sheets("Konsole").Cells(2 + j, 16).Value, Sheets("Konsole").Cells(2 + j, 17).Value), Operator:=xlFilterValues
'Criteria2:="=*" &Textbox2 &"*"
Range("G4").Select
Sheets("Import").Cells.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = fachbereich
Workbooks(workbookname).Sheets(fachbereich).Cells.PasteSpecial xlPasteValues
Workbooks(workbookname).Sheets(fachbereich).Cells.PasteSpecial Paste:=xlPasteFormats
ActiveSheet.Name = Sheets("Konsole").Cells(3 + j - 1, 8).Value
Columns.AutoFit
Rows("1:1").Select
Selection.AutoFilter
Application.CutCopyMode = False
Sheets("Import").Activate
End If
Next j
End Sub

Anzeige
AW: Filterkriterieren Array
30.05.2014 22:59:15
Raphael_H
Hallo Peter,
naja, ich weiss nicht was in deinen Zellen steht und somit kann ich auch nicht eruieren weshalb hier nichts gefiltert wird. Wenn du mir allenfalls eine Beispieldatei erstellst in der ich dein Problem mit deinem Code einsehen kann, findet sich sicher eine Lösung.
Gruess
Raphael

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige