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

Spalten kopierne aus dynamischen Autofilter

Spalten kopierne aus dynamischen Autofilter
12.03.2019 18:01:32
Peter
Guten Abend,
ich suche eine Lösung per VBA, um eine Tabelle dynamisch zu filtern und die Ergebnisse daraus zu kopieren. Ich habe allerdings in meinem Code eine Fehler, finde aber nicht den Grund, da ich auf dem Gebiet noch neu bin.
Ich definiere die Anzahl der verschiedenen Titel (z.B. 5)
Danach filtere ich von 1 bis 5.
Problem 1:
Excel markiert die gefilterten Zeilen und kopiert diese. Ich möchte gerne nur die Werte aus den Spalten E,F und G haben
Problem 2:
Beim 2ten Durchlauf hört er auf.
Ein weiterer Punkt, zudem ich in meinem Code noch nicht kam ist der Zielbereich. Dieser soll sich immer um 4 Spalten nach rechts verschieben. Also die Daten von Titel 1 ab Spalte H4 (also E soll in H kopiert werden, F in I, G in J), die von Titel 2 ab Spalte L4 (also E soll in L kopiert werden, F in M, G in N) usw.
Ich hoffe auf eure Hilfe und sage schon einmal vielen Danke
Hier noch mein Code
Function sortTitle()
Dim MaxNoOfTitle As Long
Dim currentTitle As Long
MaxNoOfTitle = Sheet1.Cells(1, 34).Value             'Maximum wird in der Zelle  _
wiedergegeben z.b. 5
currentTitle = 1
For currentTitle = 1 To MaxNoOfTitle
Sheet3.Range("$A$1:$AG$154").AutoFilter Field:=33, Criteria1:=currentTitle
ActiveSheet.AutoFilter.Range.Offset(1).Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible).Copy
Sheets("Title_Auswertung").Select
Range("H4").Select
ActiveSheet.Paste
Next currentTitle
End Function

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten kopierne aus dynamischen Autofilter
13.03.2019 08:22:24
Werner
Hallo Peter,
so:
Public Sub Filtern_Kopieren()
Dim MaxNoOfTitle As Long, currentTitle As Long
Dim i As Long, loSpalte As Long
'Blattname anpassen
MaxNoOfTitle = Worksheets("Tabelle1").Cells(1, 34).Value
currentTitle = 1
Application.ScreenUpdating = False
For i = currentTitle To MaxNoOfTitle
'Blattname anpassen
With Worksheets("Tabelle3")
.Range("$A$1:$AG$154").AutoFilter Field:=33, Criteria1:=i
.AutoFilter.Range.Offset(1).Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1) _
.Columns("E:G").SpecialCells(xlCellTypeVisible).Copy
With Worksheets("Title_Auswertung")
loSpalte = .Cells(4, .Columns.Count).End(xlToLeft).Offset(, 1).Column
If loSpalte 
Gruß Werner
Anzeige
AW: Spalten kopierne aus dynamischen Autofilter
13.03.2019 12:04:58
Peter
Hallo Werner,
vielen Dank für deine Hilfe. Es klappt alles. Mir ist nur noch eine Kleinigkeit aufgefallen. Ich müsste Spalte B auch noch mit kopieren (nicht nur E,F und G) wie schreibt man es genau? Mit & macht er es nicht. Dazu kommt, dass Spalte B als Text (also Format "General") und die Spalten E,F und G als Zeit (also Format "Time") formiert werden sollen. Da die Tabelle ja dynamisch ist, wollte ich den Zielreiter ungern vordefinieren.
Gruß Peter
AW: Spalten kopierne aus dynamischen Autofilter
13.03.2019 14:04:51
Werner
Hallo Peter,
so:
Public Sub Filtern_Kopieren()
Dim MaxNoOfTitle As Long, currentTitle As Long
Dim i As Long, loSpalte As Long
'Blattname anpassen
MaxNoOfTitle = Worksheets("Tabelle1").Cells(1, 34).Value
currentTitle = 1
Application.ScreenUpdating = False
For i = currentTitle To MaxNoOfTitle
'Blattname anpassen
With Worksheets("Tabelle3")
With Worksheets("Title_Auswertung")
loSpalte = .Cells(4, .Columns.Count).End(xlToLeft).Offset(, 1).Column
If loSpalte 
Gruß Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige