Excel VBA - Werte aus anderer Excelliste kopieren
Hallo und Guten Morgen,
ich stehe mal wieder auf dem Schlau mich einem Excel-Makro unter Excel2019 (Win11). Das folgende Makro kopiert 2 Werte aus einer Excel-Liste in eine andere Excel-Datei. Auf der Quell-Liste wähle ich eine Zelle in der Zeile (z.B. Zeile 22), starte dann das Makro mit der hinterlegten Tastenkombination und dann sollten die beiden Werte aus Zelle C22+G22 in die andere Excel-Liste in die ersten freien Zeilen ab Zeile7 in Zelle C7+D7 kopiert werdem. Danach gehe ich in die Zeile 24 und er soll dann die Werte aus C24+G24 in die andere Excel-Liste in C8+D8 kopieren. Mit dem folgenden Makro wählt er bereits die korrekten Werte aus, kopiert sie aber in die Zelle C23+D23. Ich such seit ner Stunde den Fehler und komm nicht drauf:
Ich denke, hier in dieser Zeile ist noch der Wurm drin:
Kann hier jemand kurz mal drüber schauen und mich erleuchten?
Vielen Dank
I.
EDIT: Ah, noch ein Hinweis. In der Ziel-Datei steht in der Zelle C22 eine Bezeichnung. Daher springt er bei dem Übertragen der Werte soweit runter. Das Makro müsste also nach der ersten freien Zelle in Spalte C zw. Zeile 7 und 21 suchen.
ich stehe mal wieder auf dem Schlau mich einem Excel-Makro unter Excel2019 (Win11). Das folgende Makro kopiert 2 Werte aus einer Excel-Liste in eine andere Excel-Datei. Auf der Quell-Liste wähle ich eine Zelle in der Zeile (z.B. Zeile 22), starte dann das Makro mit der hinterlegten Tastenkombination und dann sollten die beiden Werte aus Zelle C22+G22 in die andere Excel-Liste in die ersten freien Zeilen ab Zeile7 in Zelle C7+D7 kopiert werdem. Danach gehe ich in die Zeile 24 und er soll dann die Werte aus C24+G24 in die andere Excel-Liste in C8+D8 kopieren. Mit dem folgenden Makro wählt er bereits die korrekten Werte aus, kopiert sie aber in die Zelle C23+D23. Ich such seit ner Stunde den Fehler und komm nicht drauf:
Sub Artikel_einfügen()
'
' Tastenkombination: Strg+b
'
' Variablen
Dim wsSource As Worksheet, wsDest As Worksheet, selRow As Long, intNextFree As Long, wb As Workbook, strPath As String
' Pfad zur Bestellvorlage
strPath = "F:\Kalkulator\Vorlage.xltm"
' aktuelle Zeile ermitteln
selRow = Selection.Row
' aktuelles Sheet/Quelle/Preisliste ermitteln
Set wsSource = ActiveSheet
' Prüfen ob das 2. Sheet/Bestellvorlage geöffnet ist
For Each wb In Workbooks
If wb.FullName = strPath Then
Set wsDest = wb.Sheets(1)
Exit For
End If
Next
' Bestellvorlage öffnen, falls sie noch geschlossen ist
If wsDest Is Nothing Then
Set wsDest = Workbooks.Open(strPath).Sheets(1)
End If
' Suche die erste freie Zelle in Spalte C ab Zeile 7
intNextFree = wsDest.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
' Werte kopieren
wsDest.Cells(intNextFree, "C").Value = wsSource.Cells(selRow, "C").Value
wsDest.Cells(intNextFree, "D").Value = wsSource.Cells(selRow, "G").Value
End Sub
Ich denke, hier in dieser Zeile ist noch der Wurm drin:
intNextFree = wsDest.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row
Kann hier jemand kurz mal drüber schauen und mich erleuchten?
Vielen Dank
I.
EDIT: Ah, noch ein Hinweis. In der Ziel-Datei steht in der Zelle C22 eine Bezeichnung. Daher springt er bei dem Übertragen der Werte soweit runter. Das Makro müsste also nach der ersten freien Zelle in Spalte C zw. Zeile 7 und 21 suchen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668426
Url: https://administrator.de/contentid/668426
Ausgedruckt am: 21.11.2024 um 18:11 Uhr
2 Kommentare
Neuester Kommentar
intNextFree = wsDest.Cells(21, "C").End(xlUp).Offset(1, 0).Row