Microsoft Excel

Herbers Excel/VBA-Archiv

Suche akt. Zellwert und setze in Textboxen


Betrifft: Suche akt. Zellwert und setze in Textboxen
von: Wolfgang
Geschrieben am: 14.04.2019 18:06:31

Hallo liebe Excellenzen !

Ich möchte bei der täglichen Auftragsbearbeitung schnellen Zugriff auf wichtige Stammdaten haben
und bitte Euch dafür um Hilfe bei einer Erstellung einer entsprechenden VBA-Programmierung.

Sehr vereinfacht dargestellt :
In einer Excel-Arbeitsmappe habe ich zwei Tabellenblätter. In Tabelle1 (Spalte A) stehen Kundennamen,
in Tabelle2 (Spalte A) stehen auch Kundennamen, sowie in den nächsten 4 Spalten wichtige Infos zur Abwicklung der Kunden.

Ich möchte, wenn ich einen Doppelklick auf einen Kundennamen in Tabelle1 mache,
nach dem entsprechenden Eintrag in Tabelle2 suchen. Wenn der Eintrag gefunden wird,
sollen die 5 Einträge der Fundzeile in die Textboxen einer Userform eingelesen werden,die dann angezeigt wird.
Ist der ausgewählte Eintrag nicht gefunden worden,öffnet sich eine entsprechende Messagebox.

Ein solches Makro könnte ich anpassen, so daß es mir bei der Arbeit sehr helfen würde.
Für Eure Unterstützung bedanke ich mich daher jetzt schon.

Liebe Grüße
Wolfgang

  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: onur
Geschrieben am: 14.04.2019 18:08:15

Poste doch mal eine Beispielsdatei, damit man nicht alles nachbauen muss.


  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: Wolfgang
Geschrieben am: 14.04.2019 18:09:23

http://www.herber.de/bbs/user/129144.xlsx


  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: onur
Geschrieben am: 14.04.2019 18:11:24

Und wo ist die Userform mit den 5 Textboxen?


  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: Wolfgang
Geschrieben am: 14.04.2019 18:15:13

Hallo !

Vielleicht mache ich was falsch, aber ich bekomme von der Forumsseite eine Fehlermelduung, wenn ich die Beispieldatei als .xlsm mit Makros (und Userform) hochladen möchte. Daher habe ich sich als .xls abspeichern müssen.


  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: onur
Geschrieben am: 14.04.2019 18:16:53

.xls wäre ja uch ok gewesen, aber du hast eine .xlsx gepostet.


  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: Wolfgang
Geschrieben am: 14.04.2019 18:22:24

http://www.herber.de/bbs/user/129145.xls


  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: Sepp
Geschrieben am: 14.04.2019 18:27:07

Hallo Wolfgang,

http://www.herber.de/bbs/user/129146.xlsm





  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: Wolfgang
Geschrieben am: 14.04.2019 18:41:45

Hallo Sepp !

Das schaut sehr gut aus !

Vielen Dank für Deine Hilfe.
Ich wünsche Dir ein schönes Rest-Wochenende !

LG
Wolfgang


  

Betrifft: AW: Suche akt. Zellwert und setze in Textboxen
von: Wolfgang
Geschrieben am: 15.04.2019 09:59:54

Guten Morgen zusammen !

Sepp hat mir bei meiner Anfrage schon sehr geholfen.

Leider habe ich gemerkt, daß ich bei meiner Anfrage im Forum einen dummen Fehler gemacht habe.

Ich müsste nicht nur die erste Spalte, sondern die ersten zwei Spalten von Tabelle 1 und Tabelle 2
miteinander vergleichen, also :
Wenn Tabelle1 Spalte A&B = Tabelle2 Spalte A&B, dann Start des Makros (Übernahme der Fundzeile aus Tabelle 2 in eine Userform).

Kann bitte Jemand mal schauen, wie der bestehende COde angepasst werden müsste ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim varRet As Variant
  
  If Target.Column = 1 And Target <> "" Then
    Cancel = True
    varRet = Application.Match(Target, Sheets("INFO!").Columns(1), 0)
    With UserForm1
      .Tag = IIf(IsNumeric(varRet), varRet, Sheets("INFO!").Cells(Rows.Count, 1).End(xlUp).Row + _
 1)
      .TextBox1 = Target
   
      If IsNumeric(varRet) Then
        .TextBox1 = Sheets("INFO!").Cells(varRet, 1).Text
        .TextBox2 = Sheets("INFO!").Cells(varRet, 2).Text
        .TextBox3 = Sheets("INFO!").Cells(varRet, 3).Text
        .TextBox4 = Sheets("INFO!").Cells(varRet, 4).Text
        .TextBox5 = Sheets("INFO!").Cells(varRet, 5).Text
      End If
      .Show
    End With
  End If
End Sub
Vielen lieben Dank !

LG Wolfgang