Hallo,
der Betreff hört sich sicher ziemlich simpel an. Ich versuche jedoch schon seit mind. zehn Std. eine Aufgabe zu lösen. Ich bin kein VBA-Profi und habe schon alles zugängliche durchforstet, jedoch vergebens.
Ich habe eine Tabelle namens "Bücherbestand" und eine namens "Bestsellerliste".
In der Tabelle "Bücherbestand" sind ab der 2. Zeile in Spalte "E" Buchtitel aufgelistet.
In der Tabelle "Bestsellerliste" sind ebenfalls ab der 2. Zeile in Spalte "E" Buchtitel aufgelistet.
Das Makro soll nun überprüfen, ob die einzelnen Buchtitel aus der Spalte "E" der Tabelle "Bücherbestand" auch in der Spalte "E" der Tabelle "Bestsellerliste" vorkommen.
Falls dies der Fall ist soll überprüft werden, ob von dem Buch noch genügend auf Lager sind.
Der Lagerbestand befindet sich in der Tabelle "Bücherbestand" ab der 2. Zweile in Spalte "F".
Wenn der Lagerbestand 0 ist soll eine kritische Meldung erfolgen.
Wenn der Lagerbestand <10 ist soll eine Warnung erfolgen.
Also: Prüfung ob Buch ein Bestseller, falls ja weiterprüfen, ob genügend Exemplare vorhanden sind.
Mein Problem dabei ist, dass ich es nicht schaffe, dass der Buchtitel mit der Spalte "E" von der Tabelle "Bestsellerliste" verglichen wird.
Ich schaffe es leider nur, dass er den Buchtitel mit der Spalte "E" von der Tabelle "Bücherbestand" auflistet. Dadurch erkennt er jeden Buchtitel als Bestseller auch wenn er nicht in der "Bestsellerliste" vorkommt.
Ich bitte euch dringen um Hilfe und bedanke mich im Voraus für eure Bemühungen!
MfG Martin
Sub bestandspruefung()
Dim rngE As Range
Dim strTitel As String
Dim a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v As String
'prüfen, wie oft die Bestseller vorhanden sind!
strTitel = Sheets("Bücherbestand").Cells(2, 5).Value
For Each rngE In UsedRange
If rngE = strTitel Then
a = 1
End If
Next
If a = 1 And Sheets("Bücherbestand").Cells(2, 6).Value = 0 Then
MsgBox strTitel & " nicht auf Lager!", vbCritical
ElseIf a = 1 And Sheets("Bücherbestand").Cells(2, 6).Value < 10 Then
MsgBox "weniger als 10 Exemplare von " & strTitel & " vorhanden", vbExclamation
End If
strTitel = Sheets("Bücherbestand").Cells(3, 5).Value
For Each rngE In UsedRange
If rngE = strTitel Then
b = 1
End If
Next
If b = 1 And Sheets("Bücherbestand").Cells(3, 6).Value = 0 Then
MsgBox strTitel & " nicht auf Lager!", vbCritical
ElseIf b = 1 And Sheets("Bücherbestand").Cells(3, 6).Value < 10 Then
MsgBox "weniger als 10 Exemplare von " & strTitel & " vorhanden", vbExclamation
End If
End Sub
Habe die Datei vorsichtshalber angehängt
http://www.speedyshare.com/files/25139029/HA22.xlsm |