Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
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
Inhaltsverzeichnis

Wert in anderem Tabellenblatt suchen Zeile in User

Wert in anderem Tabellenblatt suchen Zeile in User
05.03.2018 11:30:28
Stefan
Hallo!
Mal wieder komme ich nicht weiter.
Im Tabellenblatt "Start" in Zelle H3 steht mein Suchbegriff.
Jetzt soll das Makro im Tabellenblatt "Db" den Wert in der Spalte A suchen. Anschließend soll die Userform "Meldung" geöffnet werden und der Zeileninhalt des gefundenen Suchbegriffes
Spalte A in Textbox 1
Spalte B in TextBox 2 usw wiedergegeben werden.
Danke

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert in anderem Tabellenblatt suchen Zeile in User
05.03.2018 11:33:29
Hajo_Zi
benutze Find.
Set Rafound1 = Columns(1).Find("Erledigt", Range("A" & Rows.Count), xlFormulas, _
xlWhole, , xlNext)
Die meisten bauen Deine Datei nicht nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Die meisten möchten es am Original testen um den gleichen Fehler zu erhalten.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Wert in anderem Tabellenblatt suchen Zeile in User
05.03.2018 11:51:17
UweD
Hallo
in ein Modul da Aufrufmakro
Sub Makro1()
    Meldung.Show
End Sub

in die Userform (Meldung)
Private Sub UserForm_Initialize()
    Dim TB1, Tb2
    Set TB1 = Sheets("Start")
    Set Tb2 = Sheets("Db")
    
    Me.TextBox1 = TB1.Range("H3")
    Me.TextBox2 = Application.VLookup(TB1.Range("H3"), Tb2.Range("A:F"), 2, 0)
    Me.TextBox3 = Application.VLookup(TB1.Range("H3"), Tb2.Range("A:F"), 3, 0)
    'Me.TextBox4 = Application.VLookup(TB1.Range("H3"), Tb2.Range("A:F"), 4, 0) 
    'Me.TextBox5 = Application.VLookup(TB1.Range("H3"), Tb2.Range("A:F"), 5, 0) 
End Sub

LG UweD
Anzeige
AW: Wert in anderem Tabellenblatt suchen Zeile in User
05.03.2018 12:37:11
Stefan
Danke euch beiden für die schnelle Antwort.
Uwe dein Code funktioniert super.
Wenn ich jetzt was in einer der TextBoxen ändere wie Speicher ich das in der entsprechende Zeile ab bzw. wie ist der Code?
Stefan
AW: Wert in anderem Tabellenblatt suchen Zeile in User
05.03.2018 13:06:11
UweD
Hallo nochmal
so?
in ein Modul
Public Zeile As Double
Public TB1, TB2

Sub Makro1()
    Meldung.Show
End Sub

in die Userform
Private Sub TextBox2_Change()
    TB2.Cells(Zeile, 2) = Me.TextBox2.Value
End Sub

Private Sub TextBox3_Change()
    TB2.Cells(Zeile, 3) = Me.TextBox3.Value
End Sub

Private Sub UserForm_Initialize()
    On Error GoTo Fehler
    Set TB1 = Sheets("Start")
    Set TB2 = Sheets("Db")
    
    If WorksheetFunction.CountIf(TB2.Range("A:A"), TB1.Range("H3")) > 0 Then
        Zeile = WorksheetFunction.Match(TB1.Range("H3"), TB2.Range("A:A"), 0)
        
        Application.EnableEvents = False
        Me.TextBox1 = TB1.Range("H3")
        Me.TextBox1.Enabled = False 'ggf. auskommentieren 
        
        Me.TextBox2 = TB2.Cells(Zeile, 2)
        Me.TextBox3 = TB2.Cells(Zeile, 3)
        'Me.TextBox4 = TB2.Cells(Zeile, 4) 
        'Me.TextBox5 = TB2.Cells(Zeile, 5) 
    End If
    
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
Fehlerbehandlng
05.03.2018 13:22:39
UweD
falls der Suchbegriff nicht gefunden wird kommt es zum Fehler Bei Änderung der Textboxen...( da die Zeile unbekannt ist.
Private Sub TextBox2_Change()
    TB2.Cells(Zeile, 2) = Me.TextBox2.Value
End Sub

Private Sub TextBox3_Change()
    TB2.Cells(Zeile, 3) = Me.TextBox3.Value
End Sub

Private Sub UserForm_Initialize()
    On Error GoTo Fehler
    Set TB1 = Sheets("Start")
    Set TB2 = Sheets("Db")
    
    Me.TextBox1.Enabled = False 'ggf. auskommentieren 
    
    If WorksheetFunction.CountIf(TB2.Range("A:A"), TB1.Range("H3")) > 0 Then
        Zeile = WorksheetFunction.Match(TB1.Range("H3"), TB2.Range("A:A"), 0)
        
        Application.EnableEvents = False
        Me.TextBox1 = TB1.Range("H3")
        
        Me.TextBox2 = TB2.Cells(Zeile, 2)
        Me.TextBox3 = TB2.Cells(Zeile, 3)
        'Me.TextBox4 = TB2.Cells(Zeile, 4) 
        'Me.TextBox5 = TB2.Cells(Zeile, 5) 
        Application.EnableEvents = True
    End If
    If Not Zeile > 0 Then ' Falls der Begriff nicht gefunden wird 
        MsgBox "'" & TB1.Range("H3") & "'    nicht gefunden"
        Me.TextBox2.Enabled = False
        Me.TextBox3.Enabled = False
    End If
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: Fehlerbehandlng
05.03.2018 13:55:57
Stefan
Danke!
Einfach spitze!
Funktioniert,so wie ich es wollte.
Stefan
Danke für die Rückmeldung owT
05.03.2018 14:24:53
UweD

80 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige