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

Laufzeitfehler 13

Forumthread: Laufzeitfehler 13

Laufzeitfehler 13
06.02.2019 14:10:26
Teom
Guten Tag, habe hier folgenden Code der mir leider immer den Laufzeitfehler 13 angibt. Konnte _ das Problem nicht beheben. ( Code wurde nur angepasst, nicht selbst erstellt)

Sub Daten_nach_Extern()
Dim wksQ As Worksheet
Dim wkbZ As Workbook
Dim wksZ As Worksheet
Dim ZeileZ As Long
Dim strPfad As String
Dim strDatei As String
Set wksQ = ActiveSheet
'Verzeichnis der Zieldatei
strPfad = "C:\Users\Private\Desktop\ImportDateien\TestOrdner"
'Name der Zieldatei
strDatei = "ImportSheet1Ziel.xlsx"
If Dir(strPfad & "\" & strDatei) = "" Then
MsgBox "Datei " & vbLf & strPfad & "\" & strDatei & vbLf & "nicht gefunden"
Else
'//Makrobremsen fängt an zu arbeiten
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
'//Zieldatei öffnen
Set wkbZ = Application.Workbooks.Open(Filename:=strPfad & "\" & strDatei)
Set wksZ = wkbZ.Worksheets("Sheet1")
With wksZ
'nächste Zeile ohne Daten in Spalte A.
Zeile_Z = .Cells(.Rows.Count, 1).End(xlUp).Rows + 1
'alternativ nächste nicht benutzte Zeile
Zeile_Z = .UsedRange.Row + .UsedRange.Rows.Count
'Daten übertragen ohne Bedingungen
Spalte = 2 '= Spalte A
.Cells(ZeileZ, Spalte) = wksQ.Range("C18").Value
'// erst Auditsheet, dann Ziel angeben
'Spalte = 3: .Cells(ZeileZ, Spalte).Value = "Yes"
Spalte = 4: .Cells(ZeileZ, Spalte) = wksQ.Range("C9").Value
Spalte = 5: .Cells(ZeileZ, Spalte) = wksQ.Range("C17").Value
'.usw.
End With
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.Calculation = StatusCac
.EnableEvents = True
End With
End If
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 13
06.02.2019 14:18:12
Werner
Hallo,
und in welcher Zeile des Codes wird denn der Fehler ausgelöst?
Was auffällt:
1. Variablen nicht alle Deklariert
Hier
.Cells(ZeileZ, Spalte) = wksQ.Range("C18").Value

benutzt du dir Variable ZeileZ.
Die wird aber nirgendwo im Code befüllt, ist also 0 und eine Zeile 0 gibt es nicht.
Gruß Werner
Anzeige
AW: Laufzeitfehler 13
06.02.2019 14:26:32
Teom
Wird die nicht mit
ZeileZ = .Cells(.Rows.Count, 1).End(xlUp).Rows + 1
befüllt?
Hab jetzt mal aus Zeile_Z durch ZeileZ korrigiert. Gleicher Fehler, leider wird mir auch nicht angezeigt in welcher Zeile sich der Fehler befindet.
AW: Laufzeitfehler 13
06.02.2019 14:28:15
Werner
Hallo,
woher soll ich das wissen, ohne deine Datei zu kennen. Lade doch mal die Mappe hoch in der dieser Fehler auftritt, ggf. Daten anonymisieren.
Gruß Werner
Anzeige
AW: Laufzeitfehler 13
06.02.2019 14:33:00
Teom
Hey,
aus Datenschutz Gründen kann ich leider nicht die ganze Mappe hochladen, lediglich den gesamten VBA Code, den ich bereits hier angegeben habe.
Wahrsagen kann hier nicht helfen...
06.02.2019 14:46:37
EtoPHG
Teom,
Wenn die fehlerhafte Code-Zeile nicht angezeigt wird, könnte sich der Code in einer Userform befinden. Dann hilft ev. Debuggen: ein STOP Befehl an den Anfang der Routine setzen und mit F8 Step-by Step debuggen. Nur auf Grund des Codes den Fehler zu eruieren wird praktisch unmöglich, da eine Typen-Unverträglichkeit oft von Daten der Mappe verursacht wird.
In deinem Code hat es verwirrende Kommentare, z.B Spalte A wird als 2 (Spalte B) gesetzt.
Gruess Hansueli
Anzeige
AW: Laufzeitfehler 13
06.02.2019 14:49:37
Werner
Hallo,
da ist ein s und das gehört da nicht hin
Zeile_Z = .Cells(.Rows.Count, 1).End(xlUp).Rows + 1

so
Zeile_Z = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
Und das hier ist Nonsens und keine Alternative
'nächste Zeile ohne Daten in Spalte A.
Zeile_Z = .Cells(.Rows.Count, 1).End(xlUp).Rows +
'alternativ nächste nicht benutzte Zeile
Zeile_Z = .UsedRange.Row + .UsedRange.Rows.Count

Du ermittelst zunächst Zeile_Z über .Rows.Count
Zeile_Z hat dann einen Wert, der dann aber durch Zeile_Z = .UsedRange überschrieben wird.
Du ermittelst also immer die erste freie Zeile über UsedRange
Gruß Werner
Anzeige
;

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