Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1472to1476
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Fragen / Sverweiss Textbox
04.02.2016 13:04:26
Jonny
Hallo werte Excel Experten,
ich als absoluter Anfänger benötige eure Hilfe.
Ich benötige einen Code für das Textbox19 Feld um folgendes zu tun (Achtung Excel Sprache an :-) )
Suchkriterium: Ist das Ergebnis in TextBox1
Matrix ist das Tabellenplatt4 Der Bereich B:8 bis E:1400.
Wiedergegeben werden soll der dritte Spalte.
Also ähnlich eines =SVERWEIS(TEXTBOX1 Ergbniss;B8:E1400;3;FALSCH)
Eigentlich kann das doch nicht so schwer sein?

Die Ausgangssituation ist folgende:


Private Sub Workbook_Activate()
Tabelle1.ComboBox1.ListFillRange = "Datensatz"!D2:D1400" TextBox1.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "A") TextBox2.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "F") End Sub

Private Sub ComboBox1_Change()
With ComboBox1 TextBox1.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "A") TextBox2.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "F") End With End Sub
Habt ihr hier eine Idee

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Fragen / Sverweiss Textbox
04.02.2016 13:09:19
Rudi
Hallo,
= WorksheetFunction.VLOOKUP(TEXTBOX1, Range("B8:E1400", 3, 0)
Gruß
Rudi

AW: VBA Fragen / Sverweiss Textbox
04.02.2016 13:27:25
Jonny
Hallo Rudi,
besten Dank schon mal. Leider mach ich wohl was falsch. Ich hätte es jetzt wie folgt hinterlegt:
Private Sub Workbook_Activate()
Tabelle1.ComboBox1.ListFillRange = "Datensatz"!D2:D1400"
TextBox1.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "A")
TextBox2.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "F")
TextBox19 = WorksheetFunction.VLookup(TextBox1, Range("B8:E1400", 3, 0)
End Sub
Da bekomme ich aber eine Fehlermeldung wo das Range markiert wird.
Dazu noch eine Frage, wo bezieht der Code sich auf das Tabellenblatt4 ? Aktuell befinde ich mich ja auf Tab. 1 :-)

Anzeige
AW: VBA Fragen / Sverweiss Textbox
04.02.2016 15:42:18
Rudi
TextBox19 = WorksheetFunction.VLookup(TextBox1, Range("B8:E1400"), 3, 0)

AW: VBA Fragen / Sverweiss Textbox
04.02.2016 16:14:58
Jonny
Hallo Rudi,

  • wie folgt eingetragen:

  • Private Sub Workbook_Activate()
    Tabelle1.ComboBox1.ListFillRange = "Händlerdaten!D2:D1400"
    TextBox1.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "A")
    TextBox2.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "F")
    TextBox19 = WorksheetFunction.VLookup(TextBox1, Range("B8:E1400"), 3, 0)
    End Sub
    

    Private Sub ComboBox1_Change()
    With ComboBox1
    TextBox1.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "A")
    TextBox2.Text = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "F")
    TextBox19 = WorksheetFunction.VLookup(TextBox1, Range("B8:E1400"), 3, 0)
    End Sub
    
    Zum einen nimmt er wenn ich einen von beiden Einträgen lösche die Werte aus Tabellenblatt 2 (Ich benötigte die Daten aus Tabellenblatt 4) zum anderen bekomme ich dann einen Laufzeit Fehler 1004

    Anzeige
    AW: VBA Fragen / Sverweiss Textbox
    04.02.2016 16:35:46
    Rudi
    dann musst du das entsprechend referenzieren.
    TextBox19 = WorksheetFunction.VLookup(TextBox1, Worksheets(4).Range("B8:E1400"), 3, 0)
    Gruß
    Rudi

    AW: VBA Fragen / Sverweiss Textbox
    05.02.2016 07:09:59
    Jonny
    Hallo Rudi,
    es funktioniert leider nicht. Ich bekomme keinen Wert angezeigt aber dafür den Laufzeitfehler 1004 (Die VLook Eigenschaft der Worksheetfunktion-Objektes kann nicht zugeordnet werden)

    AW: VBA Fragen / Sverweiss Textbox
    05.02.2016 07:40:46
    Kathrin
    Hallo zusammen,
    ich bin am verzweifeln. Ich versuche aus einer Datei zwei Tabellenblätter mit Vorschau und unterschiedlicher Anzahl der Ausdrucke zudrucken. Funktioniert auch ganz gut, bis auf ein Problem. das Tabellenblatt MB soll zweimal gedruckt werden und Tabellenblatt Normteile nur einmal, aber es druckt auch immer zweimal. ich habe es mit folgendem Makro versucht:
    Sub SeitenDruck()
    Sheets("MB").Select
    Sheets("MB").PrintPreview
    Sheets("MB").PrintOut Copies:=2
    Sheets("Normteile").Select
    Sheets("Normteile").PrintPreview
    Sheets("Normteile").PrintOut Copies:=1
    End Sub
    

    Wo ist nur der Fehler. Vielen Dank dem der mir helfen kann.
    Gruß Kathrin

    Anzeige
    AW: VBA Fragen / Sverweis Textbox
    05.02.2016 12:02:21
    Rudi
    Hall,
    1. was steht denn in der TextBox?
    2. versuch's mit
    TextBox19 = Application.VLookup(TextBox1, Worksheets(4).Range("B8:E1400"), 3, 0)
    Gruß
    Rudi

    AW: VBA Fragen / Sverweis Textbox
    05.02.2016 13:05:58
    Jonny
    Hallo Rudi,
    ggf. benötigen Sie mehr Daten von mir :-)
    Also alle TextBoxen und die Combobox befinden sich auf dem Tabellenblatt 1, nicht in einer Useform.
    1. In der TextBox 1 (mein Suchkriterium) steht eine Zahl drin welche ich durch meine Auswahl der Combobox erhalten habe. Diese Zahl aus Textbox1 findet man im Tabellenblatt2.
    2. Wenn ich jetzt den Code ergänze um den neuen Vorschlag:
    Private Sub Workbook_Activate()
    Tabelle1.ComboBox1.ListFillRange = ""
    TextBox1 = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "A")
    TextBox2 = Worksheets(2).Cells(ComboBox1.ListIndex + 2, "F")
    TextBox19 = Application.VLookup(TextBox1, Worksheets(4).Range("B8:E1400"), 3, 0)
    Dann erhalte ich einen Laufzeitfehler 13 "Typenunverträglichkeit"

    Anzeige
    AW: VBA Fragen / Sverweis Textbox
    05.02.2016 13:16:31
    Daniel
    Hi
    in einer TextBox steht immer ein Text, auch wenn dieser nur aus Ziffern besteht oder wie eine Zahl aussieht.
    Der VLookUp unterscheidet streng zwischen Text und Zahl, dh der Text "123" ist für ihn was anderes als die Zahl 123 und es gibt keinen Treffer wenn du als Suchbegriff einen Text hast und in der Suchspalte des SVerweises Zahlen stehen.
    du müsstest dann den Textboxtext in eine Zahl wandeln:
    ... = Application.VLookUp(CDbl(Textbox1.Text), Worksheets(4).Range("B8:E1400"), 3, 0)
    Gruß Daniel

    AW: VBA Fragen / Sverweis Textbox
    05.02.2016 13:18:21
    Jonny
    Juhu es klappt!!! Vielen Dank Rudi & Daniel!!!

    Anzeige
    AW: VBA Fragen / Sverweis Textbox
    05.02.2016 13:51:00
    Jonny
    Hallo nochmal,
    eine letzte Frage die mein Ergebnis noch verfeinert.
    Kann ich vor den Code noch was setzen das wenn das Ergebnis von Textbox1 nicht in Tabelle4 gefunden wird es keinen Laufzeitfehler gibt? sprich das die Ausgabe in TextBox 19 dann z.B. "keine Daten vorhanden" wäre?

    AW: VBA Fragen / Sverweis Textbox
    05.02.2016 14:13:29
    Daniel
    Hi
    dann im Prinzip so:
    dim Erg as Variant
    Erg = Application.VLookUp(...)
    If Vartype(Erg) = vbError then
    Textbox4.Text = "nicht gefunden"
    Else
    Textbox4.Text = Erg
    end if
    
    Erg muss vom Typ Variant sein damit es den Fehler als Wert aufnehmen kann und du musst Application.VLookup verwenden.
    Worksheetfunction.VLookUp bricht bei einem Fehler ab.
    Gruß Daniel

    Anzeige
    AW: VBA Fragen / Sverweis Textbox
    08.02.2016 07:33:26
    Jonny
    Hallo Daniel,
    Sie sind mein Mann!
    Einwandfrei! Noch eine Frage, da Sie gerade einen Lauf haben :-) :
    In der Combobox kann ich im noch ungefüllten Zustand den gesuchten Namen via Tastatur eingeben.
    Hinterlegt ist ja eine Tablle:
    Tabelle1.ComboBox1.ListFillRange = "Daten!D2:D1400"
    Mit jedem Buchstabe den ich in die Combobox eingeben, komm ich dem gesuchten Namen näher. Sobald ich aber einen falschen Buchstaben eingegeben habe, fliege ich in den Debugg Modus. Was kann ich machen damit dies nicht geschieht, sprich das vielleicht das Ergebnis in der Combobox angezeigt wird welches am ähnlichsten ist?
    Vorab vielen Dank für Ihre Unterstützung, das erleichtert mir das Arbeiten sehr!

    Anzeige
    AW: VBA Fragen / Sverweis Textbox
    09.02.2016 09:59:10
    Daniel
    Kann ich dir jetzt so nicht sagen, ohne deinen Code und deine Datei zu kennen.
    mach da bitte einen neuen Thread auf.
    Gruß Daniel

    300 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige