Hilfe bei IF verkettung
09.12.2012 13:52:39
Daniel
ich habe mir eine kleine Lagerverwaltung mit Exel und VBA zusammen gebaut.
Da ich bisher keine Verwendung für Exel hatte hab ich mir alles per Foren zusammen gesucht und so lange gebastelt bis es lief.Jetzt fehlt mir noch eine Funktion die ich einfach nicht ans laufen bekomme.
Evt kann man mir hier einen Tip geben wie ich das Problem beseitige.
Folgende Aufgabe erledige ich :
Ich scanne Barcodes und füge diesen in die Mappe "Wareneingang" ein.
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If Application.CountIf(Sheets("Wareneingang").Range("A2:A100"), TextBox1.Value) Then
MsgBox "Achtung schon in Liste"
Else
z = Range("A1").End(xlDown).Row + 1
If z > 65000 Then z = 2
Cells(z, 1) = TextBox1.Value
Cells(z, 2) = CDate(ComboBox2.Value)
End If
End If
End Sub
Dann wechsel ich in die Mappe Warenausgabe und scanne die Artikel welche ich raus gebe.
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If Application.CountIf(Sheets("Ausgabe").Range("A2:A100"), TextBox1.Value) Then
MsgBox "Achtung schon in Liste"
Else
z = Range("A1").End(xlDown).Row + 1
If z > 65000 Then z = 2
Cells(z, 1) = TextBox1.Value
Cells(z, 2) = ComboBox1.Value
Cells(z, 3) = CDate(ComboBox2.Value)
Cells(z, 4) = CheckBox1.Value
Cells(z, 5) = CheckBox2.Value
End If
End If
End Sub
Jetzt würde ich die Funktion gerne um folgendes erweitern.Nach dem einscannen des Barcodes soll in der Mappe Wareneingang geschaut werden ob der Barcode dort eingetragen ist.
Wenn ja soll die Funktion wie oben ablaufen. Wenn er nicht eingetragen ist soll eine Nachricht kommen wie "Achtung Ware nicht im Eingang erfasst".
Mein Ansatz ist
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
If Application.CountIf(Sheets("Wareneingang").Range("A2:A100"), TextBox1.Value) Then
If Application.CountIf(Sheets("Ausgabe").Range("A2:A100"), TextBox1.Value) Then
MsgBox "Achtung Zähler schon in Liste"
Else
z = Range("A1").End(xlDown).Row + 1
If z > 65000 Then z = 2
Cells(z, 1) = TextBox1.Value
Cells(z, 2) = ComboBox1.Value
Cells(z, 3) = CDate(ComboBox2.Value)
Cells(z, 4) = CheckBox1.Value
Cells(z, 5) = CheckBox2.Value
End If
End If
End If
End Sub
Damit wird ein Barcode nicht in die Ausgabeliste eingetragen wenn er nicht in der Eingangsliste steht.
Allerdings weiss ich nicht wo ich z.B ein
Else MsgBox "Achtung Ware nicht im Eingang erfasst"
einfügen muss das zusätzlich eine Meldung erscheint.Habe sie bereits an einige Stellen kopiert aber die Ausgabe dann nie wenn ein Barcode nicht eingetragen werden konnte.
Ich hoffe ich habe mich verständlich ausgedrückt und mir kann jemand helfen.
vielen dank