Hallo! Unten der Code ist ungetestet und nur eine Anpassung an deinen. Die Datein werden noch nicht geöffnet, kann man später noch reinbauen. War der Satz unter 5. noch eine Ergänzung? Der hat mich vrwirrt, weil er mit 5. identisch war oder habeich das was übersehen? Probiere mal bitte, ob das deinem Zie nahe kommt. Ergänzungen sind dann immer möglich. VG
PS: der Mismatch bei dir trat wohl auf, weil du hier For Each myCell In Workbooks("A.xlsm").Worksheets("PartsData").Columns("U") die komplette spalte und nicht die Zellen der Spalte ansprichst. Bei Zellen dann so For Each myCell In Workbooks("A.xlsm").Worksheets("PartsData").Columns("U").Cells dann werden aber auch alle Zellen bis zum Schluß durchsucht (kann dann etwas dauern)
Option Explicit
Private Sub CommandButton1_Click()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Variablen
Dim lngZeile As Long
Dim lngZeileZiel As Long
Dim WO As String
Dim rngWO ' As Range
Dim oCol As Long
Dim myCell
Dim mycellx
Dim x As Long
Dim nextRow As Long
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Aktivieren des Produktionsplans
Workbooks("Produktionsplan.xlsx").Activate
'Tabelle RS2 aktivieren
Worksheets("RS2").Activate
'letzte beschriebene Zelle finden
lngZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
'letzte Zeile im Ziel
lngZeileZiel = Workbooks("FW.xlsx").Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For x = lngZeile To 2 Step -1
WO = ActiveSheet.Cells(x, 2).Value
'schauen, ob der WErt da ist, dann muss die Anzhl > 0 sein
If Application.WorksheetFunction.CountIf(Workbooks("A.xlsm").Worksheets("PartsData").Columns("U"), WO) = 0 Then
lngZeileZiel = lngZeileZiel + 1
Workbooks("Produktionsplan.xlsx").Worksheets("RS2").Rows(x).Copy _
Destination:=Workbooks("FW.xlsx").Worksheets("Sheet1").Cells(lngZeileZiel, 1)
End If
Next x
End Sub
|