Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

WorksheetFunction.VLookup - Runtime Error 1004

Begonnen von Perwill, August 29, 2012, 10:29:28

⏪ vorheriges - nächstes ⏩

Perwill

Hi Leute!

Ich hab ein kleines VBA-Problem und habe dazu bisher keine Lösung gefunden:

In einer Tabelle (Excel 2003) habe ich Kontonummern und die Kontennamen.
In Spalte A sind die Kontonummern und in Spalte B die Kontennamen.

In einer Userform habe ich eine Combobox eingerichtet, die auf diese Tabelle zugreift und so eine Kontonummer aussucht.
Daneben habe ich eine Textbox, die in Abhängigkeit vom Inhalt der Combobox den Kontennamen anzeigen soll.

Diese Textbox macht mir zu schaffen.

Der VBA Code lautet:
Zitat
Private Sub Combobox_AfterUpdate()
Textbox.Value = Application.WorksheetFunction.VLookup(Combobox.Value, Worksheets("Konten").Range("A:B"), 2, False)
End Sub

Öffne ich die Userform und wähle eine Kontonummer, erhalte ich den Runtime Error 1004 - "Unable to get the VLookup Property of the WorksheetFunction class".

Wie krieg ich das hin?

database

Hallo,

es scheint daran zu liegen, dass Excel die Angabe deiner Matrix ("A:B") nicht 'verstehen' kann.

Versuch mal den Bereich genau einzugrenzen - "A1:B25"

HTH

Perwill

Danke für die Antwort!

Ich hab folgendes geändert:
Range("A2:B200")

Jetzt hab ich Runtime Error 13 - Type mismatch  ???

database

Hallo,

Runtime Error 13 weist darauf hin, dass Datentypen nicht übereinstimmen.

ich glaube, dass hiermit .... Combobox.Value ...  nicht der erwatete Vergleichstext übertragen wird sondern eine Zahl?

Wie ist denn die Combobox aufgebaut? Welche Anzahl Spalten mit welchem Inhalt hast du denn?

Ist die gebundene Spalte auf die Textspalte positioniert - die Eigenschaft Value greift auf den Inhalt der gebundenen Spalte zu!

Sind alle Zellen des Matrixbereichs als Text formatiert?


compinaut

Das lässt sich ja leicht feststellen, wenn Du das Ergebnis von LookUp mit MsgBox ausgibst. Dann kannst Du zur Laufzeit sehen, welcher Wert denn zurückgegeben wird und ob dieser zu Value passt.

Perwill

Danke für den Hinweis!

Also er gibt den richtigen Wert zurück, aber er zeigt mir trotzdem Runtime Error 13 an.

@Database
Die Combobox hat folgende Eigenschaften:
Bound Column: 2
Column Count: 2
Row Source: Konten!A2:B200

Ich hab jetzt auch mal alle Zellen der Matrize als Text formatiert. Es ändert sich nichts.

compinaut

Hallo,

vielleicht hilft es auch, das Ergebnis erst einmal einer String-Variablen zu übergeben und diese dann wiederum an die Text.Value-Eigenschaft zu übergeben. Ggf. findet dann eine Umwandlung in einen Text statt, der von Value angenommen wird.

Anderer Vorschlag noch: Umwandlung vom Ergebnis von VLookup mit Format().

Gruß
compinaut