aus verschiedenen Scripten habe ich mir das Folgende Zusammengestellt.
Der Anwender wird aufgefordert eine Quelldatei im Dialog auszuwählen.
Aus dieser Quelldatei werden verschiedene Spalten 1:1 in die Zieldatei kopiert, bis in Spalte A der Quelldatei kein Wert mehr steht.
Problem ist, dass er die Daten nur dann kopiert, wenn er vorher eine Zeile Schreiben kann.
Wer kann mir helfen.
Die Zeile
WkSh_Z.Range("A999") = "unnötiger Eintrag"
ist völlig unnötig. Kommentiere ich sie aus, funktioniert das ganze Script nicht.
Sub Daten_uebernehmen()
Dim strDatei, WkSh_Q As Worksheet
Dim lZeile As Long
strDatei = Application.GetOpenFilename
Set WkSh_Z = ThisWorkbook.Worksheets("Tabelle1")
If strDatei False Then
Set WkSh_Q = Workbooks.Open(strDatei).Sheets(1)
Else
Exit Sub
End If
Application.ScreenUpdating = False
WkSh_Z.Range("A999") = "unnötiger Eintrag"
For lZeile = 8 To WkSh_Z.Cells(Rows.Count, 1).End(xlUp).Row
If WkSh_Q.Range("A" & lZeile).Value "" Then
WkSh_Z.Range("A" & lZeile) = WkSh_Q.Range("A" & lZeile).Value
WkSh_Z.Range("C" & lZeile & ":H" & lZeile) = WkSh_Q.Range("C" & lZeile & ":H" & lZeile) _
_
_
.Value
WkSh_Z.Range("L" & lZeile) = WkSh_Q.Range("L" & lZeile).Value
WkSh_Z.Range("I" & lZeile) = lZeile
End If
Next lZeile
Application.ScreenUpdating = True
WkSh_Q.Parent.Close False
Set WkSh_Q = Nothing
End Sub
Ich bin für jede Hilfe bzw. Lösungsansatz dankbar.
Schöne Grüße