Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1340to1344
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

Werte aus Tabelle an Autofilter übergeben

Werte aus Tabelle an Autofilter übergeben
13.12.2013 09:32:59
Thorben
Moinsen Freunde,
ich versuche gerade einen Code anzupassen um eine andere Tabelle anzusprechen und muss passen :-)
Option Explicit
Sub SetzeAutofilter()
Dim i As Integer
Dim vAfWerte As Variant
With Worksheets("Tabelle2").Range("I1:I")
vAfWerte = .Offset(-29) '--> wat muss hier rinne ?
If Not .Parent.AutoFilterMode Then
.AutoFilter
Else
If .Parent.FilterMode Then .Parent.ShowAllData
End If
For i = 1 To .Parent.AutoFilter.Range.Columns.Count
If Len(vAfWerte(1, i)) Then
.AutoFilter Field:=i, Criteria1:=vAfWerte(1, i)
End If
Next i
End With
End Sub
Ich möchte eine Liste von Kriterien in Tabelle11 A1:A führen und diese an den Autofilter in Tabelle2 I1:I übergeben.
Ich weiß jetzt nicht wie ichs machen soll!
Könnt Ihr euch das mal angucken.
Vielen Dank
MfG
Thorben

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
habs hinbekommen... trotzdem schonmal Danke
13.12.2013 09:56:38
Thorben

.Offset(-29) --> Worksheets("Tabelle11").Range("A1:A100")
Bis denne
Thorben

Doch nicht richtig! Wieder offen...
13.12.2013 10:01:23
Thorben
oh mann, ich bin wieder viel zu hektisch...

AW: Werte aus Tabelle an Autofilter übergeben
13.12.2013 10:42:43
Rudi
Hallo,
warum nimmst du nicht den Spezialfilter?
Gruß
Rudi

AW: Werte aus Tabelle an Autofilter übergeben
13.12.2013 10:48:52
Thorben
Moin Rudi,
ich möchte diese Anweisung mit in einer Call Kette unterbringen.
Ich könnte auch mit dem Recorder aufzeichnen aber ich möchte halt eine flexible Liste haben.
Edit: Spezialfilter
Habs tausendmal probiert und immer noch nicht warm mit ihm geworden. Und werd es auch nicht mehr...:p
Danke schonmal
MfG
Thorben

Anzeige
AW: Werte aus Tabelle an Autofilter übergeben
13.12.2013 11:13:02
Rudi
Hallo,
Sub aaaaa()
Dim arr
With Tabelle1
arr = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
End With
arr = WorksheetFunction.Transpose(arr)
With Tabelle2
If .FilterMode Then .ShowAllData
.Range("A1").AutoFilter field:=9, Criteria1:=arr, Operator:=xlFilterValues
End With
End Sub

Gruß
Rudi

AW: Werte aus Tabelle an Autofilter übergeben
13.12.2013 12:08:20
Thorben
Hallo,
Vielen Dank läuft, aber:
nur wenn es sich um Zahlen i.V.m Text handelt bzw. Zahlen die so aussehen: 789 1256
also mit Leerzeichen dazwischen.
Nur Zahlen lässt er aussen vor!!!
z.B. trage ich 123 in die Liste ein, übersieht der code diese!
Kann mann es so einstellen das "alles" berücksichtigt wird.
Also Text, Nummern, Nummern i.v Text, Zeichen wie (), / , usw.
Vielen Dank schon einmal
Gruß
Thorben

Anzeige
AW: Werte aus Tabelle an Autofilter übergeben
13.12.2013 12:37:28
Rudi
Hallo,
Sub aaaaa()
Dim arr, a
With Tabelle1
arr = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
End With
arr = WorksheetFunction.Transpose(arr)
For a = LBound(arr) To UBound(arr)
arr(a) = CStr(arr(a))
Next
With Tabelle2
If .FilterMode Then .ShowAllData
.Range("A1").AutoFilter Field:=1, Criteria1:=arr, Operator:=xlFilterValues
End With
End Sub

Gruß
Rudi

Danke !
13.12.2013 12:53:57
Thorben
Rudi / Thorben
vielen Dank, werd das jetz ein paar mal nachschreiben und verinnerlichen...
Schönes Wochenende
Thorben

ok jetzt verzfeifle ich gleich. Brauch nochmal Rat
13.12.2013 13:34:59
Thorben
Hab den jetzt in meine Kette eingebaut + Filterergebnis löschen wie folgt (Bsp.Namen)
Sub Hallo
...tue was
Call Keine
End Sub
Der Löscht mir aber auch meine erste Zeile mit den Überschriften.
Warum? Rows("2:" & loLetzte).Select ist doch klar definiert !!!
Sub Keine()
Dim arr, a
Dim loLetzte As Long
With Tabelle10
arr = .Range(.Cells(1, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
End With
arr = WorksheetFunction.Transpose(arr)
For a = LBound(arr) To UBound(arr)
arr(a) = CStr(arr(a))
Next
With Tabelle2
If .FilterMode Then .ShowAllData
.Range("A1").AutoFilter Field:=9, Criteria1:=arr, Operator:=xlFilterValues
loLetzte = ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row
Rows("2:" & loLetzte).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=9
Selection.AutoFilter
End With
Range("A1").Select
End Sub
Danke schonmal
Thorben

Anzeige
habs gefunden...oh mann, das WE ruft....
13.12.2013 14:23:26
Thorben
Habs jetzt anders gelöst:
Range("A1").CurrentRegion.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
ich mach jetzt Feierabend...

AW: ok jetzt verzfeifle ich gleich. Brauch nochmal Rat
13.12.2013 14:44:37
Rudi
Hallo,
Zeilen anhand einer Kriterienliste würde ich so löschen:
Sub Keine()
Dim loLetzte As Long
Const leereSpalte = 200 'irgendeine leere Spalte
With Tabelle2
loLetzte = .Cells(.Rows.Count, 9).End(xlUp).Row
.Range(.Cells(2, leereSpalte), .Cells(loLetzte, leereSpalte)).FormulaR1C1 = _
"=if(countif(" & Tabelle10.Name & "!C1,RC9),#n/a,"""")"
On Error GoTo errExit
.Columns(leereSpalte).SpecialCells(xlCellTypeFormulas, xlErrors).EntireRow.Delete
End With
errExit:
Tabelle2.Columns(leereSpalte).ClearContents
End Sub

Gruß
Rudi
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige