Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
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
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten aggregieren - Laufzeitfehler 13

Daten aggregieren - Laufzeitfehler 13
02.07.2007 11:49:00
Herbert
Hallo,
ich möchte Daten aus mehreren Dateien in eine automatisch eintragen. Dazu habe ich auch schon ein Beispielmakro erhalten. Leider erhalte ich beim Starten "Laufzeitfehler 13 - Typen unverträglich".
Woran kann das liegen? Hier die Nachricht:
-------------------------------------------------------------
Hallo Herbert,
hier ist ein Muster mit zwei Dateien - vielleicht kannst du das für deine Belange anpassen.
Sonst musst du dich wieder melden und mehr über deine Dateien (Namen, Spalten, ggf. Überschriften etc.) preisgeben.
'
' habe eine Datei "Gesamt.xls". Hier möchte ich in Tabellenblatt 1 ("Daten")
' Werte aus 2 verschiedenen Dateien (Bezirk1.xls, Bezirk2.xls)
' jeweils aus Tabellenblatt("Tabelle1") zusammenfassen.
' Dabei sollen in ("Bezirk1.xls"/"Tabelle1") alle Zeilen mit Werten kopiert
' und in "Gesamt.xls"/"Daten" eingefügt werden.
' Die nachfolgende Datei (Bezirk2) soll in der gleichen Art und Weise
' geöffnet/kopiert/geschlossen und übertragen werden.
' Dabei sollen diese Werte in der 1. freien nachfolgenden Zeile eingefügt werden.

Public Sub Makro_Test()
Dim WkSh_Ziel  As Workbook
Dim Pfad       As String
Dim Datei      As String
Dim lLetzte    As Long
Dim iIndx      As Integer
Pfad = "C:\Dolumente und Einstellungen\Administrator\Eigene Dateien\Excel-Dateien\"
Set WkSh_Ziel = Workbooks("Gesamt.xls").Worksheets("Daten")
For iIndx = 1 To 2
lLetzte = WkSh_Ziel.Cells(Rows.Count, 1).End(xlUp).Row + 1
Datei = "Bezirk" & iIndx & ".xls"
Workbooks.Open Filename:=Pfad & Datei
Workbooks(Datei).Worksheets("Tabelle1").Range(Range("A1"), _
Cells.SpecialCells(xlLastCell)).Copy _
Destination:=WkSh_Ziel.Cells(lLetzte, 1)
Workbooks(Datei).Close False
Next iIndx
End Sub


9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wo kommt der Fehler? - o.T.
02.07.2007 11:53:00
Matthias
-

AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 12:09:00
Andi
Hi,
mit dieser Zeile:
Dim WkSh_Ziel As Workbook
dimensionierst Du die Variable als Workbook, und mit dieser Zeile
Set WkSh_Ziel = Workbooks("Gesamt.xls").Worksheets("Daten")
weist Du Ihr dann ein Worksheet zu.
Ändere die Dimensionierung in
Dim WkSh_Ziel As Worksheet
dann müsste es gehen.
Prinzipiell ist die Rückfrage von Matthias natürlich richtig, es hilft sich leichter, wenn man weiß, wo der Fehler genau auftritt, und man nicht erst selber suchen muss...
Schönen Gruß,
Andi

AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 12:17:00
Herbert
Danke für die Hilfestellung. Nach Änderung in Worksheet lautet die Meldung nach Start im VBA-Editor: Laufzeitfehler 9 - Index außerhalb des gültigen Bereichs.
Gruß Herbert
Hier der modifizierte Code, der zur Ausführung gebracht wurde:

Public Sub Makro_Test()
Dim WkSh_Ziel  As Workbook
Dim Pfad       As String
Dim Datei      As String
Dim lLetzte    As Long
Dim iIndx      As Integer
Pfad = "C:\Temp\"
Set WkSh_Ziel = Worksheets("Gesamt.xls").Worksheets("Daten")
For iIndx = 1 To 2
lLetzte = WkSh_Ziel.Cells(Rows.Count, 1).End(xlUp).Row + 1
Datei = "Bezirk" & iIndx & ".xls"
Workbooks.Open Filename:=Pfad & Datei
Workbooks(Datei).Worksheets("Tabelle1").Range(Range("A1"), _
Cells.SpecialCells(xlLastCell)).Copy _
Destination:=WkSh_Ziel.Cells(lLetzte, 1)
Workbooks(Datei).Close False
Next iIndx
End Sub


Anzeige
AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 12:27:21
Andi
Hi,
es wäre nach wie vor günstig, wenn Du erwähnen würdest, um welche Zeile es sich denn nun handelt, sprich welche Zeile im debug-Modus markiert wird...
Vermutlich ist entweder die Datei Gesamt.xls nicht geöffnet, oder es gibt in dieser Datei kein Sheet namens Daten.
Schönen Gruß,
Andi

AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 12:33:33
Herbert
Hallo,
der Debug-Modus stock in markierter Zeile. Das Makro ist in der Datei "Gesamt.xls" eingebettet. Die Registerkarte "Daten" existiert.
Gruß
Userbild

AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 12:37:00
Andi
Hi,
jetzt seh ich's erst... die Zeile muss natürlich so heißen:
Set WkSh_Ziel = Workbooks("Gesamt.xls").Worksheets("Daten")
Schönen Gruß,
Andi

Anzeige
AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 12:44:00
Herbert
Hallo,
wenn ich die Zeile auf Workbooks ändere, erhalte ich doch den Ausgangszustand der Datei (Fehler 13 - Typen unverträglich)? Ich hatte diesen Teil ja geändert.
Gruß

AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 14:19:00
Andi
Hi,
die Zeile solltest Du aber gar nicht ändern, sondern die Dimensionierung:

Ändere die Dimensionierung in
Dim WkSh_Ziel As Worksheet
dann müsste es gehen.

Schönen Gruß,
Andi

AW: Daten aggregieren - Laufzeitfehler 13
02.07.2007 12:10:00
Herbert
Hallo,
ich möchte zuerst das beigefügte Beispiel nachvollziehen. Ich habe 2 Dateien mit dem Namen "Bezirk1.xls" sowie "Bezirk2.xls" erstellt (mit Inhalt in den Zellen A1,A2;B1;B2). Im Anschluss erstellte ich die Datei "gesamt.xls" mit Registerkarte "Daten" alle drei Dateien befinden sich in C.\temp (die Pfadangabe im Markro habe ich modifiziert). Den obigen (um die Pfadangabe geänderten) Quellcode habe ich nun mittels VBA-Editor unter "Diese Arbeitsmappe" eingetragen.
Nach Betätigung das Buttons "Sub/Userform ausführen" erscheint die Fehlermeldung.
Das gleiche passiert, wenn ich das Makro in der Tabellenansicht (Extras-Markro-Markros) starte.
Gruß Herbert
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige