Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife für Zellenbereich

Forumthread: Schleife für Zellenbereich

Schleife für Zellenbereich
31.03.2020 18:32:46
raph.bier
Hallo,
habe mir kürzlich ein kleines VBA-Skript mit Hilfe des Internets zusammengebastelt.
Dieses Skript dient dazu, aus einem Datenblatt gewisse Zeilen zu filtern, die dann in meinem Register "Übersicht" angezeigt werden..
Nun möchte ich eine Schleife erstellen die mir in meinem Register Übersicht die Zeilen aus allen Datenblätter anzeigt. Also hier mein VBA-Script:

Sub kopieren()
Dim variable As String
variable = [A2]
With Sheets(variable).UsedRange
.AutoFilter Field:=19, Criteria1:="ja"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
End With
Sheets("?bersicht").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets(variable).UsedRange.AutoFilter
End Sub


Nun will ich anstatt meiner Variable a2 die auf ein Datenblatt verweist gleich alle Datenblätter durchlaufen und ausgeben lassen. In meinem Fall die Datenblätter im Zellbereich A2:A4
Habe an den Befehl gedacht:
For Each variable In Worksheets(Übersicht).Range("A2:A4")
Next

Aber ich komme mit der Verschachtelung nicht klar. Wie muss ich dann meine Variablen definieren?
Kann mir da bitte wer Helfen?
https://www.herber.de/bbs/user/136304.xlsm
Danke im Voraus.
LG
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife für Zellenbereich
31.03.2020 19:46:19
Luschi
Hallo raph.bier,
bei mir klappt das so:

Sub kopieren()
Dim rgVariable As Range, Variable As String, iZeile As Long
iZeile = Sheets("?bersicht").Cells(Rows.Count, "A").End(xlUp).Offset(2, 0).Row
For Each rgVariable In Worksheets("?bersicht").Range("A2:A4")
Variable = rgVariable.Value
With Sheets(Variable).UsedRange
'sonst muß man mit Fingerzählen überprüfen, welche SpaltenNr. die Spalte 'S' hat
.AutoFilter Field:=ActiveSheet.Columns("S").Column, Criteria1:="ja"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
Sheets("Übersicht").Cells(iZeile, "A").Offset(2, 0).PasteSpecial xlPasteValues
'nächse ZeilenNr. zum Einfügen ermitteln
iZeile = iZeile + Selection.Rows.Count
'Autofilter aufheben
.AutoFilter Field:=Columns("S").Column
End With
'Kopiermodus aufheben!
Application.CutCopyMode = False
'Sheets(Variable).UsedRange.AutoFilter
Next rgVariable
Sheets("?bersicht").Range("A9").Select
Set rgVariable = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Schleife für Zellenbereich
31.03.2020 20:05:18
raph.bier
Hallo, du hast dir einen Orden verdient!!!
Bin dir sowas von dankbar.
Wäre selbst niemals auf dieses Skript gekommen.
Liebe Grüße
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige