Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro mehre PRÜFUNGEN vor AUSFÜHRUNG
#1
Hallo Gemeinde

Folgendes Problem

Ich möchte vor der Ausführung verschiedener Makros z.B. " Lagerzugang..... Andreas..."
einige Prüfungen laufen lassen ob es Ausgeführt werden darf.

Code:
Sub Lagerabgang_Andreas()

'Abfrage zum Ausführen

If MsgBox("Lagerabgang ANDREAS?, Ausführen JA NEIN? nur einmal pro Eingabe", vbYesNo) = vbNo Then Exit
Sub  'DER TEIL Funktioniert
 
    'Prüfung ob Artikel vorhanden
   
    If Sheets("Materialschein").Cells(14, 3).Value > 0 Then
    Else
    MsgBox "Materialschein ist LEER"
    Exit Sub
End If    'DER TEIL Funktioniert auch
   
    'Prüfung ob NEUER Artikel POS 1- 22 vorhanden
   
    If Sheets("Materialschein").Cells(14, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 1"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(15, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 2"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(16, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 3"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(17, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 4"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(18, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 5"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(19, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 6"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(20, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 7"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(21, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 8"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(22, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 9"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(23, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 10"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(24, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 11"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(25, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 12"
    Exit Sub
End If
If Sheets("Materialschein").Cells(26, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 13"
    Exit Sub
End If
If Sheets("Materialschein").Cells(27, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 14"
    Exit Sub
End If
If Sheets("Materialschein").Cells(28, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 15"
    Exit Sub
End If
If Sheets("Materialschein").Cells(29, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 16"
    Exit Sub
End If
If Sheets("Materialschein").Cells(30, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 17"
    Exit Sub
End If
If Sheets("Materialschein").Cells(31, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 18"
    Exit Sub
End If
If Sheets("Materialschein").Cells(32, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 19"
    Exit Sub
End If
If Sheets("Materialschein").Cells(33, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 20"
    Exit Sub
End If
If Sheets("Materialschein").Cells(34, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 21"
    Exit Sub
End If
If Sheets("Materialschein").Cells(35, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 22"
    Exit Sub
End If  'DER TEIL Funktioniert auch

'Prüfung ob Stückzahl POS 1- 22 vorhanden
   
    If Sheets("Materialschein").Cells(14, 2).Value > 0 And Cells(14, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 1 FEHLT"  'POS 1 Funktioniert 
    Exit Sub
End If
If Sheets("Materialschein").Cells(15, 3).Value > 0 And Cells(15, 2).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 2 FEHLT"  'Ab hier kommt mein PROBLEM , ist Cells(15, 3) Leer, Bekomme ich die MsgBox "Stückzahl Pos 2 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(16, 2).Value >= 0 And Cells(16, 3).Value >= 0 Then
    Else
    MsgBox "Stückzahl Pos 3 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(17, 2).Value >= "0" And Cells(17, 3).Value >= "0" Then
    Else
    MsgBox "Stückzahl Pos 4 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(18, 2).Value >= "0" And Cells(18, 3).Value >= "0" Then
    Else
    MsgBox "Stückzahl Pos 5 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(19, 2).Value >= 0 And Cells(19, 3).Value >= 0 Then
    Else
    MsgBox "Stückzahl Pos 6 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(20, 2).Value >= 0 And Cells(20, 3).Value >= 0 Then
    Else
    MsgBox "Stückzahl Pos 7 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(21, 2).Value > 0 And Cells(21, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 8 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(22, 2).Value > 0 And Cells(22, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 9 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(23, 2).Value > 0 And Cells(23, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 10 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(24, 2).Value > 0 And Cells(24, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 11 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(25, 2).Value > 0 And Cells(25, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 12 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(26, 2).Value > 0 And Cells(26, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 13 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(27, 2).Value > 0 And Cells(27, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 14 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(28, 2).Value > 0 And Cells(28, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 15 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(29, 2).Value > 0 And Cells(29, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 16 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(30, 2).Value > 0 And Cells(30, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 17 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(31, 2).Value > 0 And Cells(31, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 18 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(32, 2).Value > 0 And Cells(32, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 19 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(33, 2).Value > 0 And Cells(33, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 20 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(34, 2).Value > 0 And Cells(34, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 21 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(35, 2).Value > 0 And Cells(35, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 22 FEHLT"
    Exit Sub
End If

    'Prüfung Lagerbewertung / OHNE Stückzahl PRÜFUNG geht das auch
   
    If Sheets("Materialschein").Cells(1, 16).Value = "Lagerabgang" Then
    Range("B14:P35").Select
    Selection.Copy
    Sheets("temp").Select
        Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B4:B25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C4:C25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G4:G25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("C4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("M4:M25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("E4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveSheet.Range("$B$1:$P$25").AutoFilter Field:=15, Criteria1:= _
        "Lagerabgang"
    Range("A4:E25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("LA Andreas").Select
    ActiveWindow.SmallScroll Down:=-15
    Range("A1").Select
    Selection.End(xlDown).Select
    Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("A:A").Select
    Application.CutCopyMode = False
    Range("A1").Select
    Selection.End(xlDown).Select
    Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
    Sheets("Materialschein").Select
    Range("C14:F14").Select
    Sheets("temp").Select
    ActiveWindow.SmallScroll ToRight:=4
    ActiveSheet.Range("$B$1:$P$25").AutoFilter Field:=15
    Range("B4:P25").Select
    Selection.ClearContents
    Sheets("LA Andreas").Select
    Range("A2").Select
    Selection.End(xlDown).Select
    Cells(ActiveCell.Row + 1, ActiveCell.Column).Select

Else
    MsgBox "FALSCHE Lagerbewertung"
End If
End Sub


Es geht um Diesen Teil des Codes

'Prüfung ob Stückzahl POS 1- 22 vorhanden

    If Sheets("Materialschein").Cells(14, 2).Value > 0 And Cells(14, 3).Value > 0 Then

    Else

    MsgBox "Stückzahl Pos 1 FEHLT"  'POS 1 Funktioniert 

    Exit Sub

End If

If Sheets("Materialschein").Cells(15, 3).Value > 0 And Cells(15, 2).Value > 0 Then

    Else

    MsgBox "Stückzahl Pos 2 FEHLT" 'Ab hier kommt mein PRBLEM , ist Cells(15, 3) Leer, Bekomme ich die Meldung MsgBox "Stückzahl Pos 2 FEHLT"

    Exit Sub

End If

If Sheets("Materialschein").Cells(16, 2).Value >= 0 And Cells(16, 3).Value >= 0 Then

    Else

    MsgBox "Stückzahl Pos 3 FEHLT"

    Exit Sub

End If .........



Das Makro soll vor Ausführung Prüfen wenn eine Artikelnummer eingetragen ist muss auch eine Stückzahl vorhanden sein

Cells 14,3 - 35, 3 ist die Artikelnummer und 14,2 - 35,2 Angabe der Stückzahl

ist keine Artikelnummer Eingetragen prüfe das nächste .... oder mach weiter / alles OK...

hab mit <>=...  0 "" ... für die einzelnen Cellen gespielt bekomme aber immer, wenn Artikel Nummer leer ist  an Fehler "Stückzahl Pos X Fehlt"

Bin kein VBA Profi hab mir alles zusammen Gegoogelt

Wenn benötig lade ich die Datei mit hoch


Vielen Dank schon mal 


Gruß

Stefan
Antworten Top
#2
Hola,

verlinkst du bitte deine Fragen in den verschiedenen Foren gegenseitig?
Danke.

Gruß,
steve1da
Antworten Top
#3
Hallo Stefan,

lass es mich mal so sagen: da gibt es Optimierungspotenzial. Eine Beispieldatei zum Testen wäre nicht schlecht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#4
Hallo Gemeinde
Folgendes Problem
vor der Ausführung des Makros sollen Prüfungen geschehen 
Code:
[align=left]Sub Lagerabgang_Andreas()[/align]

'Abfrage zum Ausführen


If MsgBox("Lagerabgang ANDREAS?, Ausführen JA NEIN? nur einmal pro Eingabe", vbYesNo) = vbNo Then Exit

Sub  'DER TEIL Funktioniert
 
    'Prüfung ob Artikel vorhanden
   
    If Sheets("Materialschein").Cells(14, 3).Value > 0 Then
    Else
    MsgBox "Materialschein ist LEER"
    Exit Sub
End If    'DER TEIL Funktioniert auch
   
    'Prüfung ob NEUER Artikel POS 1- 22 vorhanden
   
    If Sheets("Materialschein").Cells(14, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 1"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(15, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 2"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(16, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 3"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(17, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 4"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(18, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 5"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(19, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 6"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(20, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 7"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(21, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 8"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(22, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 9"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(23, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 10"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(24, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 11"
    Exit Sub
End If
    If Sheets("Materialschein").Cells(25, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 12"
    Exit Sub
End If
If Sheets("Materialschein").Cells(26, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 13"
    Exit Sub
End If
If Sheets("Materialschein").Cells(27, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 14"
    Exit Sub
End If
If Sheets("Materialschein").Cells(28, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 15"
    Exit Sub
End If
If Sheets("Materialschein").Cells(29, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 16"
    Exit Sub
End If
If Sheets("Materialschein").Cells(30, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 17"
    Exit Sub
End If
If Sheets("Materialschein").Cells(31, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 18"
    Exit Sub
End If
If Sheets("Materialschein").Cells(32, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 19"
    Exit Sub
End If
If Sheets("Materialschein").Cells(33, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 20"
    Exit Sub
End If
If Sheets("Materialschein").Cells(34, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 21"
    Exit Sub
End If
If Sheets("Materialschein").Cells(35, 14).Value = "" Then
    Else
    MsgBox "Neuer Artikel VORHANDEN Pos 22"
    Exit Sub
End If  'DER TEIL Funktioniert auch

'Prüfung ob Stückzahl zu Artikel  POS 1- 22 vorhanden
   
    If Sheets("Materialschein").Cells(14, 2).Value > 0 And Cells(14, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 1 FEHLT"  'POS 1 Funktioniert 
    Exit Sub
End If
If Sheets("Materialschein").Cells(15, 3).Value > 0 And Cells(15, 2).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 2 FEHLT"  'Ab hier kommt mein PROBLEM , ist Cells(15, 3) Leer, Bekomme ich die MsgBox "Stückzahl Pos 2 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(16, 2).Value >= 0 And Cells(16, 3).Value >= 0 Then
    Else
    MsgBox "Stückzahl Pos 3 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(17, 2).Value >= "0" And Cells(17, 3).Value >= "0" Then
    Else
    MsgBox "Stückzahl Pos 4 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(18, 2).Value >= "0" And Cells(18, 3).Value >= "0" Then
    Else
    MsgBox "Stückzahl Pos 5 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(19, 2).Value >= 0 And Cells(19, 3).Value >= 0 Then
    Else
    MsgBox "Stückzahl Pos 6 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(20, 2).Value >= 0 And Cells(20, 3).Value >= 0 Then
    Else
    MsgBox "Stückzahl Pos 7 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(21, 2).Value > 0 And Cells(21, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 8 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(22, 2).Value > 0 And Cells(22, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 9 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(23, 2).Value > 0 And Cells(23, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 10 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(24, 2).Value > 0 And Cells(24, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 11 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(25, 2).Value > 0 And Cells(25, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 12 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(26, 2).Value > 0 And Cells(26, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 13 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(27, 2).Value > 0 And Cells(27, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 14 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(28, 2).Value > 0 And Cells(28, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 15 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(29, 2).Value > 0 And Cells(29, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 16 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(30, 2).Value > 0 And Cells(30, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 17 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(31, 2).Value > 0 And Cells(31, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 18 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(32, 2).Value > 0 And Cells(32, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 19 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(33, 2).Value > 0 And Cells(33, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 20 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(34, 2).Value > 0 And Cells(34, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 21 FEHLT"
    Exit Sub
End If
If Sheets("Materialschein").Cells(35, 2).Value > 0 And Cells(35, 3).Value > 0 Then
    Else
    MsgBox "Stückzahl Pos 22 FEHLT"
    Exit Sub
End If

    'Prüfung Lagerbewertung / OHNE Stückzahl PRÜFUNG geht das auch
   
    If Sheets("Materialschein").Cells(1, 16).Value = "Lagerabgang" Then
    Range("B14:P35").Select
    Selection.Copy
    Sheets("temp").Select
        Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B4:B25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C4:C25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("B4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("G4:G25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("C4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("M4:M25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("E4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveSheet.Range("$B$1:$P$25").AutoFilter Field:=15, Criteria1:= _
        "Lagerabgang"
    Range("A4:E25").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("LA Andreas").Select
    ActiveWindow.SmallScroll Down:=-15
    Range("A1").Select
    Selection.End(xlDown).Select
    Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("A:A").Select
    Application.CutCopyMode = False
    Range("A1").Select
    Selection.End(xlDown).Select
    Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
    Sheets("Materialschein").Select
    Range("C14:F14").Select
    Sheets("temp").Select
    ActiveWindow.SmallScroll ToRight:=4
    ActiveSheet.Range("$B$1:$P$25").AutoFilter Field:=15
    Range("B4:P25").Select
    Selection.ClearContents
    Sheets("LA Andreas").Select
    Range("A2").Select
    Selection.End(xlDown).Select
    Cells(ActiveCell.Row + 1, ActiveCell.Column).Select

Else
    MsgBox "FALSCHE Lagerbewertung"
End If
End Sub

Es geht um Diesen Teil des Codes

'Prüfung ob Stückzahl POS 1- 22 vorhanden

    If Sheets("Materialschein").Cells(14, 2).Value > 0 And Cells(14, 3).Value > 0 Then

    Else

    MsgBox "Stückzahl Pos 1 FEHLT"  'POS 1 Funktioniert 

    Exit Sub

End If

If Sheets("Materialschein").Cells(15, 3).Value > 0 And Cells(15, 2).Value > 0 Then

    Else

    MsgBox "Stückzahl Pos 2 FEHLT" 'Ab hier kommt mein PRBLEM , ist Cells(15, 3) Leer, Bekomme ich die Meldung MsgBox "Stückzahl Pos 2 FEHLT"

    Exit Sub

End If

If Sheets("Materialschein").Cells(16, 2).Value >= 0 And Cells(16, 3).Value >= 0 Then

    Else

    MsgBox "Stückzahl Pos 3 FEHLT"

    Exit Sub

End If .........



Das Makro soll vor Ausführung Prüfen wenn eine Artikelnummer eingetragen ist muss auch eine Stückzahl vorhanden sein

Cells 14,3 - 35, 3 ist die Artikelnummer und 14,2 - 35,2 Angabe der Stückzahl

ist keine Artikelnummer Eingetragen prüfe das nächste .... oder mach weiter / alles OK...

hab mit <>=...  0 "" ... für die einzelnen Cellen gespielt bekomme aber immer, wenn Artikel Nummer leer ist  an Fehler "Stückzahl Pos X Fehlt"



Bin kein VBA Profi hab mir alles zusammen Gegoogelt

Wenn benötig lade ich die Datei mit hoch


Vielen Dank schon mal 

Gruß

Stefan
Antworten Top
#5
Auch hier nochmal der Hinweis:
https://www.clever-excel-forum.de/misc.php?action=help&hid=10
Antworten Top
#6
Hallo,

ich habe ja nicht sooo ein Problem mit Mehrfachanfragen, aber hier wurde die Frage eingestellt, nachdem im anderen Forum ein Lösungsvorschlag gekommen war. Das ist zumindest dem Antworter dort gegenüber schon unfair.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#7
Sorry für den Doppel Eintrag, hab einen als Erledigt maskiert.

Hallo Dieter
ja ich habe diese Anfange in einem anderem Forum auch gefragt. 
die Lösung funktioniert aber nicht.

Gruß 
Stefan


Angehängte Dateien
.xlsm   Arbeitsmappe Muti- Nutzer online.xlsm (Größe: 462,73 KB / Downloads: 1)
Antworten Top
#8
Da du es nicht tust......

https://www.herber.de/forum/archiv/1828t...831027.htm
Antworten Top
#9
Danke fürs Verlinken
Antworten Top
#10
Ich hab' die beiden Themen zusammengeführt, weil in beiden Threads Antworten vorliegen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste