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

Makro so oft ausführen wie Zeilen gefüllt sind

Makro so oft ausführen wie Zeilen gefüllt sind
07.12.2015 20:04:55
Werner Gorski

Hallo Experten,
brauche eure Hilfe bei folgendem Problem:
Ich filtere eine Tabelle (Tabelle1) mittels Combobox und Autofilter. Nun möchte ich diese gefilterten Daten in eine andere Tabelle (Tabelle2) übertragen.
Das übertragen möchte ich mittels Makro durchführen. D.h. das Makro muss so oft ausgeführt werden wie gefüllte Zeilen nach dem Filtern da sind und bei jeder Ausführung eine Zeile weiter springen.
Kurz gesagt möchte aus einer Gefilterten Tabelle Sammelrechnungen für versch. Kunden erstellen.
Ist das möglich ?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro so oft ausführen wie Zeilen gefüllt sind
07.12.2015 21:10:53
Hajo_Zi
Zu Crossposting lies diese Seite Hajo-Excel.de
Durch Crosspostuing werden mehrere Gruppen von Leuten mit dem gleichen Thema befasst, ohne dass sie voneinander wissen.
Naturgemäß laufen dann die Antworten, die im einen Forum "zu spät" gegeben wurden, ins Leere und bleiben ohne Resonanz.
Es reicht also, zunächst in einem Forum zu posten - wenn die Antworten dann unbefriedigend sein sollten, steht es einem anschließend immer noch offen, ein anderes Forum zu Rate zu ziehen.
Ich mache keine Werbung für andere Foren und verzichte darum auf den Link.
lese FAQ

Anzeige
AW: Makro so oft ausführen wie Zeilen gefüllt sind
07.12.2015 21:51:48
KlausF
Hallo Werner,
Sub Kopieren()
Dim i As Long
Dim lngLast As Long
lngLast = Worksheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Tabelle2").UsedRange.ClearContents
With Worksheets("Tabelle1")
For i = 2 To lngLast
If .Rows(i).EntireRow.Hidden = False Then
.Range("A" & i).EntireRow.Copy
Worksheets("Tabelle2").Range("A1").PasteSpecial xlPasteValues
MsgBox "Daten Werden gedruckt  Zeile " & i
End If
Next i
Application.CutCopyMode = False
End With
End Sub

Gruß
Klaus

AW: Makro so oft ausführen wie Zeilen gefüllt sind
07.12.2015 22:07:54
Matthias
Hallo ihr beiden,
wenn der Autofilter aktiv ist wird mit dem einfachen Copy-Befehl alles ausgeblendete ignoriert. Das heist den ganzen Spaß mit 'Hidden' kannst man sich sparen. Dies reicht vollkommen:
Sheets("Tabelle1").Cells.Copy Sheets("Tabelle2").Range("A1")
lg Matthias

Anzeige
AW: Makro so oft ausführen wie Zeilen gefüllt sind
07.12.2015 22:10:40
Werner Gorski
Hallo Klaus,
Danke, werde ich mal einbauen.
Gruß Werner

anderer Ansatz
07.12.2015 23:21:48
KlausF
Hallo Matthias,
ist schon klar, aber wenn ich Sammelrechnungen erstellen will, habe ich in der Regel
eine Rechnungsvorlage, die z.b. über einen SVERWEIS auf eine Zeile befüllt
und dann einzeln ausgedruckt wird. Deshalb also mein zeilenweises Abarbeiten ...
Gruß
Klaus

AW: Makro so oft ausführen wie Zeilen gefüllt sind
08.12.2015 20:51:33
Werner Gorski
Hallo Klaus und Matthias,
funzt wunderbar. Ich dank euch beiden recht herzlich.
Kann euch nur weiterempfehlen
Danke und Gruß Werner

AW: Makro so oft ausführen wie Zeilen gefüllt sind
07.12.2015 22:23:39
Werner Gorski
Hallo Matthias,
sieht schon mal sehr gut aus.
Geht es auch in Tabelle2 für jede Zeile eine weiter zu gehen und nicht Zeile1 überschreiben.
Gruß Werner

Anzeige
AW: Makro so oft ausführen wie Zeilen gefüllt sind
07.12.2015 22:33:53
Matthias
Hallo Werner,
sicher geht das, dann sieht das nur ein wenig länger aus, denn man muss die letzte Zeile für _ jedes Blatt bestimmen:

Dim wks1 As Worksheet, wks2 As Worksheet
Set wks1 = Sheets("Tabelle1")
Set wks2 = Sheets("Tabelle2")
wks1.Rows("2:" & wks1.Cells(wks1.Rows.Count, 1).End(xlUp).Row).Copy _
wks2.Range("A" & wks2.Cells(wks2.Rows.Count, 1).End(xlUp).Row + 1)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige