In einer Tabelle erfasse ich meine E-Bike Touren. Insbesondere notiere ich nach einer Tour den Reststrom im Akku, allenfalls die Zwischenladung während der Tour zusammen mit der Strecke (Kilometer) und die gesamthaft bewältigten Höhenmeter. In einer zweiten, geschlossenen Tabelle möchte ich mit den einkopierten Daten berechnen, wie viele Höhenmeter mit einem vollen Akku möglich gewesen wären. Grundsätzlich funktioniert alles unter der Voraussetzung, dass sich beide Dateien (Bike-Erfassen.xlsm und Bike-Akku.xlsm) direkt im Laufwerk D:\ befinden. Wenn ich beide Dateien im Unterverzeichnis D:\Daten\Bike-Touren\ einkopiere und mein Makro entsprechen Anpasse, funktioniert es nicht mehr. Ich bekomme vom Makro die Fehlermeldung, dass das Verzeichnis oder die Datei nicht vorhanden sei. Nachfolgend könnt ihr mein Makro - eben das welches ohne Unterverzeichnis (also direkt in D:\ gespeichert) funktioniert einsehen. Wo liegt der "Hund" begraben? Danke im Voraus für die Hilfestellung. und Gruss, Kettenriss
Sub Akku_kopieren() ' Daten in geschlossene Datei kopieren
Dim sPfad As String ' der Ordner-Pfad der Excel-Mappen
Dim sDatei As String ' die zu beschreibende Datei
Dim WkSh_Q As Worksheet ' das Quell-Tabellenblatt - die Herkunft
Dim WkSh_Z As Worksheet ' das Ziel-Tabellenblatt - das Ergebnis
sPfad = "D:\" ' Datenverzeichnis
sDatei = "Bike-Akku.xlsm" ' Dateiname mit Endung in welche die Daten kopiert werden
' Application.ScreenUpdating = False
If Dir(sPfad & sDatei) > "" Then
Workbooks.Open (sPfad & sDatei)
ThisWorkbook.Activate
'Application.ActiveWindow.Visible = False
Else
MsgBox "Den angegebenen Ordner """ & sPfad & """" & Chr(10) & _
"und/oder die gesuchte Datei """ & sDatei & """ gibt es nicht!", _
16, " Hinweis für " & Application.UserName
Exit Sub
End If
Set WkSh_Q = ThisWorkbook.Worksheets("Erfassen") ' Name Tagellenblatt Originaldatei Bike-Erfassen.xlsm
Set WkSh_Z = Workbooks(sDatei).Worksheets("Akku") ' Name Tabellenblatt Bike-Akku.slsm
WkSh_Q.Cells.Range("A12:F171").Copy Destination:=WkSh_Z.Range("A35:F194") ' Datum bis und mit Zwischenladung
WkSh_Q.Cells.Range("H12:H171").Copy Destination:=WkSh_Z.Range("G35:G194") ' Kilometer
WkSh_Q.Cells.Range("Q12:Q171").Copy Destination:=WkSh_Z.Range("H35:H194") ' Höhenmeter
Workbooks(sDatei).Close SaveChanges:=True
Application.ScreenUpdating = True
MsgBox "Die Daten wurden erfolgreich übergeben.", _
64, " Information für " & Application.UserName
End Sub