Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1704to1708
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

Schleife über Tabellen zeigt Fehler

Schleife über Tabellen zeigt Fehler
13.08.2019 12:10:39
Lutz
Hallo Excel Spezialisten,
ich habe 2 Programme die ich miteinander kombinieren muss:
Eines geht über alle Dateien über ein Verzeichnis und in diesen Dateien habe ich bisher eine Tabelle ausgelesen und kopiert.
Jetzt muss ich eine Schleife über mehrere Tabellen machen die zwischen den Tabellen "Start" und "End" liegen.
'-------------------------------------'
' Benötigte Sheets
'-------------------------------------'
Dim idx1 As Long
Dim idx2 As Long
Dim xInput As Long
idx1 = Worksheets("Start").Index
idx2 = Worksheets("End").Index
'-------------------------------------'
' Daten auslesen und in Auswertung kopieren
'-------------------------------------'
For xInput = idx1 + 1 To idx2 - 1
xInput.Visible = xlSheetVisible
xInput.Activate
xInput.Range("A11:" & JClastcol & Cells(Rows.Count, 1).End(xlUp).Row).Copy
meins.Activate
MySheet.Activate
With MySheet
.Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Next xInput
Bei der Zeile
xInput.Visible = xlSheetVisible
läuft er in den Fehler "ungültiger Bezeichner".
Es hat wahrscheinlich etwas mit den Variablen zu tun? xInput muss wohl ein worksheet sein aber das geht auch nicht:(
Findet jemand den Fehler? Die Schleife soll alle Tabellen zwischen Start und End durchlaufen.
Vielen Dank und viele Grüße Lutz

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife über Tabellen zeigt Fehler
13.08.2019 12:16:29
Torsten
Hallo Lutz,
versuche:

' Benötigte Sheets
Dim idx1 As Long
Dim idx2 As Long
Dim xInput As Long
idx1 = Worksheets("Start").Index
idx2 = Worksheets("End").Index
' Daten auslesen und in Auswertung kopieren
For xInput = idx1 + 1 To idx2 - 1
Sheets(xInput).Visible = xlSheetVisible
Sheets(xInput).Activate
Sheets(xInput).Range("A11:" & JClastcol & Cells(Rows.Count, 1).End(xlUp).Row).Copy
meins.Activate
MySheet.Activate
With MySheet
.Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues,  _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Next xInput
Gruss Torsten
Anzeige
AW: Schleife über Tabellen zeigt Fehler
13.08.2019 12:24:13
Lutz
Hallo Torsten vielen lieben Dank.
Er läßt es komplilieren und ausführen aber er steigt hier aus:
Sheets(xInput).Visible = xlSheetVisible
Index außerhalb des gültigen Bereiches ist die Fehlermeldung.
Ich glaube das liegt vielleicht an fehlenden Tabellen? Da wurden mal welche gelöscht - also eine Abfrage, ob die Tabelle auch vorhanden ist und wenn nicht die nächste?
Vielen Dank und viele Grüße Lutz
AW: Schleife über Tabellen zeigt Fehler
13.08.2019 12:39:28
Torsten
Frage. Sind die zu bearbeitenden Sheets alle ausser "Start" und "End"?
Dann kannst du doch so vorgehen:

' Benötigte Sheets
Dim xInput As Worksheet, idx1 As Worksheet, idx2 As Worksheet
idx1 = Worksheets("Start")
idx2 = Worksheets("End")
' Daten auslesen und in Auswertung kopieren
For Each xInput In ThisWorkbook.Worksheets
If xInput.Name  idx1.Name Then
If xInput.Name  idx2.Name Then
With xInput
.Visible = xlSheetVisible
.Range("A11:" & JClastcol & Cells(Rows.Count, 1).End(xlUp).Row).Copy
MySheet.Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste: _
=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
End If
End If
Next xInput

Gruss Torsten
Anzeige
AW: Schleife über Tabellen zeigt Fehler
13.08.2019 13:03:19
Lutz
Hallo Torsten,
nein sind nur die dazwischen - vielen Dank für Deine Hilfe.
Dein letzter Code war perfekt aber am Ende geht er mit MaySheet in eine andere Datei - deswegen mußte ich immer die Datei vor das Worksheet schreiben.
Es läuft jetzt wie geschmiert:)
'-------------------------------------'
' Benötigte Sheets
'-------------------------------------'
Dim idx1 As Long
Dim idx2 As Long
Dim xInput As Long
idx1 = wkbInput.Worksheets("Start").Index
idx2 = wkbInput.Worksheets("End").Index
'-------------------------------------'
' Daten auslesen und in Auswertung kopieren
'-------------------------------------'
For xInput = idx1 + 1 To idx2 - 1
wkbInput.Sheets(xInput).Visible = xlSheetVisible
wkbInput.Sheets(xInput).Activate
wkbInput.Sheets(xInput).Range("A11:" & JClastcol & Cells(Rows.Count, 1).End(xlUp).Row).Copy
meins.Activate
MySheet.Activate
With MySheet
.Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Next xInput
Noch mal vielen lieben Dank und viele Grüße
Lutz
Anzeige
na dann alles gut. Viel Spass
13.08.2019 13:09:44
Torsten
AW: Schleife über Tabellen zeigt Fehler
13.08.2019 12:34:16
Lutz
Habe es gefunden - man muss immer das Workbook mitgeben - denn er wechselt zwischen durch die Datei:
'-------------------------------------'
' Benötigte Sheets
'-------------------------------------'
Dim idx1 As Long
Dim idx2 As Long
Dim xInput As Long
idx1 = wkbInput.Worksheets("Start").Index
idx2 = wkbInput.Worksheets("End").Index
'-------------------------------------'
' Daten auslesen und in Auswertung kopieren
'-------------------------------------'
For xInput = idx1 + 1 To idx2 - 1
wkbInput.Sheets(xInput).Visible = xlSheetVisible
wkbInput.Sheets(xInput).Activate
wkbInput.Sheets(xInput).Range("A11:" & JClastcol & Cells(Rows.Count, 1).End(xlUp).Row).Copy
meins.Activate
MySheet.Activate
With MySheet
.Range("A" & .Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End With
Next xInput
Mysheet ist eine andere Datei.
Vielen lieben Dank! Habe jetzt zwar noch ein anderes Problem entdeckt aber vielleicht schaffe ich das ja alleine.
Vielen Dank und einen schönen Tag
Viele Grüße Lutz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige