ich habe folgende Probleme:
Ich benutze 2 Tabellenblätter mit Daten. In diese werden mittels Userboxen Daten eingetragen bzw. ausgelesen.
Auf dem zweiten Tabellenblatt hole ich per Sverweis Daten aus dem ersten Tabellenblatt.
1: #NV => Wenn nun der gesuchte Begriff auf dem Tabellenblatt 1 noch nicht enthalten ist kommt als Fehler #NV.
Daraus resultierend bekomme ich die folgende Fehlermeldung bei meiner Userboxabfrage: Laufzeitfehler Eigenschaft Value konnte nicht gesetzt werden. Typenkonflikt.
Ohne den #NV Fehler funzt die Userbox einwandfrei. Die Sverweisabfrage sieht folgendermaßen aus:
=WENN($E4="";"";WENN(SVERWEIS($E4;Komplett!$D$4:$P$4258;7)="";"";SVERWEIS($E4;Komplett!$D$4:$P$4258;7)))
Frage: wie kann ich den Fehler innerhalb der Sverweisabfrage unterbinden?
2: In meinen Userboxen werden die o.g. Tabellenblätter abgefragt. Nun werden in der Userbox innerhalb einer Combobox Daten eingelesen. Wird ein Datensatz ausgewählt erhalte ich in den dazugehörigen Textboxen die zugehörigen Daten angezeigt. Gleichzeitig brauche ich einen Vergleich zweier Daten. Es handel sich hierbei um einen Minimalstand und den aktuellen Bestand. Wird der Minimalstand unterschritten wird der Textfeldhintergrund rot. Da funzt auch weitestgehend, aber nicht bei allen Zahlen. Realisiert habe ich das folgendermaßen:
Private Sub ComboBox3_Change()
TextBox3 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 2) ' Artikel
TextBox4 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 5) ' Hersteller
TextBox5 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 6) ' Bezeichnung
TextBox31 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 9) ' Lagerort
TextBox6 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 10) ' Regal
TextBox7 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 11) ' Fach
TextBox8 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 14) ' Bestand
TextBox9 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 12) ' Min
TextBox10 = Worksheets("Komplett").Cells(ComboBox3.ListIndex + 4, 13) ' Max
If TextBox8 < TextBox9 Then
TextBox8.BackColor = &HFF&
Else
TextBox8.BackColor = &H80000005
End If
End Sub
Wie geschrieben, es gibt Zahlenkombinationen die nicht funzen, warum auch immer. Beispiel: Min 3, Max 50, Bestand 21 => Ergenis Textfeld rot obwohl Min-Stand nicht unterschritten. Das geht hoch bis 29. Bei Bestand 30 zeigt Textfeld dann weiss.
Fragen: Wie kommt das? Ist das ein Fehler von Excel? Kann ich die Abfrage anders realisieren um diesen Missstand zu umgehen?
Puh. Das ist viel Zeugs ;-)
Danke im Voraus
Heinz