Microsoft Excel

Herbers Excel/VBA-Archiv

VBA- aus anderer Mappe kopieren)mit Kriterium)


Betrifft: VBA- aus anderer Mappe kopieren)mit Kriterium) von: Fred Neumann
Geschrieben am: 23.09.2019 10:40:25


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.

Was muss ich hier ändern?

Gruß
Fred

  

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

Gruss Torsten


  

Betrifft: AW: VBA- aus anderer Mappe kopieren)mit Kriterium) von: Fred Neumann
Geschrieben am: 23.09.2019 11:31:36


Hallo Torsten,

"myRow = myRow + 1" klein aber fein.

Danke für deine Hilfe,- nun funzt es.

Gruß
Fred


  

Betrifft: gerne... von: Torsten
Geschrieben am: 23.09.2019 11:51:41




Beiträge aus dem Excel-Forum zum Thema "VBA- aus anderer Mappe kopieren)mit Kriterium)"