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

Excel Listen kopieren

Excel Listen kopieren
Matty
Hallo Forum!
Ich habe ein Programm geschrieben, das alle Sheets in einer Excelmappe in ein "Gesamtsheet" kopiert.
Die Spaltenüberschriften sind bei den einzelnen Sheets identisch. In den Sheets beginnen die Daten erst ab Zeile 4. Im Gesamtsheet kopiert es die Daten ab Zeile 2.
An der Stelle ....Sheets(strTab).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(Spa - 3, 256).Value = Sheets(i).Rows("4:" & Spa).Value.... bringt er jedoch immer eine Fehlermeldung, obwohl das Programm alles einwandfrei bis dahin kopiert hat. Also Ziel des Programms erreicht, aber trotzdem diese Fehlermeldung, warum läuft das Programm nicht komplett durch und stopt ab!?
Sub JoinTab1()
Dim i%, k%, strTab$, strTab3$
Dim Spa As Long
Dim Spa1 As Long
strTab = "Gesamt"      'Name anpassen
strTab3 = "Uebersicht"
'alle aktuellen Werte löschen
Sheets("Gesamt").Select
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
If Sheets(i).Name  strTab Then
If Sheets(i).Name  strTab3 Then
Spa = Sheets(i).Cells(Rows.Count, 1).End(xlUp).Row '1 steht für 1te Spalte also  _
_
A
Sheets(strTab).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Resize(Spa - 3, 256). _
_
Value = Sheets(i).Rows("4:" & Spa).Value
End If
End If
Next i
Application.ScreenUpdating = True
Sheets("Uebersicht").Select
End Sub

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

Betreff
Benutzer
Anzeige
Welche Fehlermeldung? oT
19.08.2009 14:44:10
Fred
oT
AW: Excel Listen kopieren
19.08.2009 15:09:51
Adelhorst
Hallo Matty.
Kann es sein, dass ein Sheet/Tabellenblatt nur eine Überschrift aber sonst keine weitere Daten enthält?
Dann würde nähmlich die .End(xlUp).Row-Funktion für Spa den Wert 3 zurückgeben.
In der folgenden Resize-Methode wäre dann Spa-3=0! Und da gibt es einen Fehler.
Ich würde vor der Value-Übernahme noch folgende Abrage einbauen:
If Spa > 3 then ......
Ausserdem müsste man noch sicher gehen, dass das Gesamt-Tabellenblatt nicht an seine maximale Grenze von vorhandenen Zeilen gestossen ist!?
Gruss Adelhorst
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige