Betrifft: VBA- aus anderer Mappe kopieren)mit Kriterium)
von: Fred Neumann
Hall Excelianer,
ich habe mir da so einen Code zusammen gebastelt, der so nicht klappt.
Ich möchte aus "Mappe2", Sheet "data" alle Zeilen (beginnend bei Zeile 2) kopieren, welche in der zweiten Spalte den Eintrag "BB" haben und in meine ausführende Mappe, Sheet "Import1" einfügen (Werte und Formate).
Klappt aber nicht wie gewollt.
Dim wbZiel As Workbook
Dim wbQuelle As Workbook
Dim wks1 As Worksheet, wks2 As Worksheet
Dim lRow As Long, lastRow As Long, myRow As Long
Dim lastCol As Integer
Set wbZiel = ThisWorkbook
Set wbQuelle = Workbooks.Open("C:\Users\Besitzer\Desktop\Master\Download\Mappe2.xls")
Set wks1 = Sheets("data")
Set wks2 = wbZiel.Sheets("Import1")
myRow = 2 'Startzeile in Import1
lastCol = 10 'Letzte Spalte mit Daten
lastRow = IIf(wks1.Range("A65536") <> "", 65536, _
wks1.Range("A65536").End(xlUp).row)
For lRow = 1 To lastRow
If wks1.Cells(lRow, 2) = "BB" Then
'Daten kopieren
Range(wks1.Cells(lRow, 2), wks1.Cells(lRow, lastCol)). _
Copy wks2.Cells(myRow, 2)
End If
Next
Application.CutCopyMode = False
wbQuelle.Close
Es werden lediglich die Daten aus der letzten Zeile kopiert und in mein Sheet "Import1" eingefügt.
Betrifft: AW: VBA- aus anderer Mappe kopieren)mit Kriterium)
von: Torsten
Geschrieben am: 23.09.2019 11:19:30
Hallo Fred,
klar, weil du die Zeile, die du kopierst immer ueberschreibst. Du musst deine Variable myRow nach dem Kopieren hochzaehlen, damit er beim naechsten Kopieren in die naechste Zeile schreibt im Zielsheet.
Dim wbZiel As Workbook
Dim wbQuelle As Workbook
Dim wks1 As Worksheet, wks2 As Worksheet
Dim lRow As Long, lastRow As Long, myRow As Long
Dim lastCol As Integer
Set wbZiel = ThisWorkbook
Set wbQuelle = Workbooks.Open("C:\Users\Besitzer\Desktop\Master\Download\Mappe2.xls")
Set wks1 = wbQuelle.Sheets("data")
Set wks2 = wbZiel.Sheets("Import1")
myRow = 2 'Startzeile in Import1
lastCol = 10 'Letzte Spalte mit Daten
lastRow = wks1.Cells(Rows.Count, 1).End(xlUp).Row
For lRow = 1 To lastRow
If wks1.Cells(lRow, 2) = "BB" Then
'Daten kopieren
Range(wks1.Cells(lRow, 2), wks1.Cells(lRow, lastCol)).Copy wks2.Cells(myRow, 2)
myRow = myRow + 1
End If
Next
Application.CutCopyMode = False
wbQuelle.Close
Betrifft: AW: VBA- aus anderer Mappe kopieren)mit Kriterium)
von: Fred Neumann
Betrifft: gerne...
von: Torsten
Geschrieben am: 23.09.2019 11:51:41