AW: schön zu hören...
07.11.2018 21:10:03
Werner
Hallo Frank,
teste mal. Die Ausgabe in den Messageboxen mußt du halt noch anpassen. Ich hatte da heute keine Lust mehr mein "Schulenglisch" noch auszupacken.
Option Explicit
Public Sub Verteilen()
Dim i As Long, loLetzte As Long, strBlatt As String
Dim wsQuelle As Worksheet, boVorhanden As Boolean
Set wsQuelle = ThisWorkbook.Worksheets("MAT-Anfo (AB)")
Application.ScreenUpdating = False
If WorksheetFunction.CountIf(wsQuelle.Range("C5:H5"), "X") > 0 Then
With Worksheets("MasterList-Neu")
If WorksheetFunction.CountIf(.Columns(8), wsQuelle.Range("I5")) = 0 Then
boVorhanden = True
loLetzte = .Cells(.Rows.Count, 8).End(xlUp).Offset(1).Row
.Cells(loLetzte, 1) = WorksheetFunction.Max(.Columns(1)) + 1
wsQuelle.Range("C5:O5").Copy
.Cells(loLetzte, 2).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Else
MsgBox "Der Datensatz mit der P/N " & wsQuelle.Range("I5") & " wurde nicht" _
& vbLf & "ins Blatt MasterList-Neu übertragen." & vbLf _
& "Diese P/N ist dort schon vorhanden."
End If
End With
For i = 3 To 8
If UCase(wsQuelle.Cells(5, i)) = "X" Then
strBlatt = wsQuelle.Cells(4, i)
With Worksheets(strBlatt)
If WorksheetFunction.CountIf(.Columns(2), wsQuelle.Range("I5")) = 0 Then
boVorhanden = True
loLetzte = .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Row
wsQuelle.Range("I5:M5").Copy
.Cells(loLetzte, 2).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Else
MsgBox "Der Datensatz mit der P/N " & wsQuelle.Range("I5") _
& " wurde nicht" & vbLf & "ins Blatt " & strBlatt & " übertragen." _
& vbLf & "Diese P/N ist dort schon vorhanden."
End If
End With
End If
Next i
Else
MsgBox "Es wurde keine Auswahl in C5 bis H5 getroffen."
End If
If boVorhanden Then wsQuelle.Range("C5:O5").ClearContents
Set wsQuelle = Nothing
End Sub
Gruß Werner