Office: TextBox Inhalt auf anderem Tabellenblatt suchen

Helfe beim Thema TextBox Inhalt auf anderem Tabellenblatt suchen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Guten morgen alle zusammen Ich brauch mal wieder eure Hilfe . Ich habe folgenden Code in gebraucht Private Sub CommandButton1_Click() Dim... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Blacky1980, 29. September 2012.

  1. Blacky1980 Erfahrener User

    TextBox Inhalt auf anderem Tabellenblatt suchen


    Guten morgen alle zusammen

    Ich brauch mal wieder eure Hilfe .

    Ich habe folgenden Code in gebraucht


    Code:
    Private Sub CommandButton1_Click()
    
    Dim Rng As Range
    
    
    If Len(TextBox1) = 0 Then Exit Sub
    
    Set Rng = Worksheets("Anlagenkartei").Range("A1:BA" & Worksheets("Anlagenkartei").Range("A:BA").SpecialCells(xlCellTypeLastCell).Row). _
              Find(CVar(TextBox1), LookIn:=xlValues, lookat:=xlPart, MatchCase:=False)
    
    If Not Rng Is Nothing Then
        Worksheets("Abfragekarte").Range("B4").Value = Worksheets("Anlagenkartei").Cells(Rng.Row, 2).Value
        Set Rng = Nothing
    Else
        MsgBox TextBox1 & " wurde nicht gefunden!", vbOKOnly
    End If
    
    
    End Sub


    Nun ist es aber so das ich nach etwas suche das es mehrfach in der Tabelle gibt. Wenn das der Fall ist soll eine Userform aufgehen mit 4 TextBoxen ein ListBox und einem Button. Was ich schon gebaut habe. In der ListBox sollen die Inhalte aus Spalte B aufgelistet werden die nach dem Wert den ich suche gefunden wurden. Nun kann ich in der ListBox einen dieser Einträg auswählen und dann werden die 4 TextBoxen mit den Werten aus den Spalten D, J, L und M angezeigt. Wenn ich nun das richtige gefunden habe und auch in der List Box Makiert ist soll er mir nach drücken des Buttons denn Wert in BA4 Eintragen.


    Ich hoffe man kann mich verstehen was ich dazu haben möchte zu diesem Code.


    Danke

    Gruß Michael
     
    Blacky1980, 29. September 2012
    #1
  2. Blacky1980 Erfahrener User
    Hallo ich bins nochmal

    Habe nun einen Code der mir auch sucht und finden nur leider immer nur das erst und dann geht es nicht mehr weiter auch wenn ich etwas suche was es mehrfach gibt.

    Code:
    Option Explicit
    
    Private Sub CommandButton1_Click()
    
    Dim WkSh    As Worksheet
    Dim rZelle  As Range
    
       Set WkSh = ThisWorkbook.Worksheets("Tabelle1")
    
       If TextBox1.Value <> "" Then
          With WkSh.Columns(3)
             Set rZelle = .Find(TextBox1.Value, LookAt:=xlWhole, LookIn:=xlValues)
             If Not rZelle Is Nothing Then
                TextBox2.Value = WkSh.Cells(rZelle.Row, 1).Value
                TextBox3.Value = WkSh.Cells(rZelle.Row, 2).Value
                TextBox4.Value = WkSh.Cells(rZelle.Row, 4).Value
                TextBox5.Value = WkSh.Cells(rZelle.Row, 5).Value
              Else
                MsgBox "Der gesuchte Begriff  """ & TextBox1.Value & _
                   """  wurde nicht gefunden.", _
                   48, "   Hinweis für " & Application.UserName
                TextBox1.SetFocus
             End If
          End With
        Else
          MsgBox "Sie müssen einen Suchbegriff eingeben - danke." & _
             48, "   Hinweis für " & Application.UserName
             TextBox1.SetFocus
       End If
    
    End Sub
    Nun möchte ich aber wenn er das gesuchte nur einmal findetdas er mir den Inhalt aus dieser zeile von Spalte B gleich in B4 schreibt.

    Wenn er aber mehrfach Einträge findet dann über die UserForm aber in eine ListBox so das ich die Einträge durch sehen, eintrag an klicken TextBoxen füllen nächste Eintrag anklicken und TextBoxen füllen, kann welchen Datensatz ich brauch. Dann den Datensatz den ich möchte makieren und per Button aus dieser Zeile Spalte B in das Feld B4 schreibt.

    Die suche wird von Tabellenblatt "Abfargekarte" ausgeführt und die suche soll im Tabellenblatt "Anlagenkartei" stattfinden ohne das ich auf das Tabellenblatt "Anlagenkartei" muss.

    Kann mir bitte jemand helfen ich komme da echt nicht weiter.

    Danke

    Gruß Michael
     
    Blacky1980, 29. September 2012
    #2
  3. Beverly
    Beverly Erfahrener User
    Hi Michael,

    vielleicht solltest du mal deine Arbeitsmappe mit dem bisherigen Stand hochladen.

    Bis später,
    Karin
     
  4. Blacky1980 Erfahrener User

    TextBox Inhalt auf anderem Tabellenblatt suchen

    Hallo Karin.
    Danke für die Antwort

    Habe nun mal die zwei Tabellenblätter kopiert und in eine neue Mappe zusammen getan sonst ist das ganze viel viel zu groß.

    Ich hoffe es langt habe da jetzt nur den Code drin für die suche und dann die zweite UserForm mit der ListBox und den 4 TextBoxen. Ich hoofe es reicht.


    Gruß Michael
     
    Zuletzt bearbeitet: 30. September 2012
    Blacky1980, 30. September 2012
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Michael,

    es wird immer ein UserForm gestartet, geichgültig wie oft der Suchbegriff in der Tabelle vorkommt.

    Noch ein Hinweis: es macht sich immer günstiger, wenn man als Fragesteller einer hochgeladenen Arbeitsmappe einen "sprechenden" Namen gibt. Wenn man nämlich als Helfer eine Mappe herunter lädt, dann sind nichtssagende Namen wie "Mappe1", "Test" o.ä. nicht sehr hifreich, weil man sie dann schlecht einem bestimmten Beitrag zuordnen kann. Schließlich arbeitet man häufig an mehreren Beiträgen gleichzeitig.

    Bis später,
    Karin
     
    Zuletzt bearbeitet: 1. Oktober 2012
    Beverly, 1. Oktober 2012
    #5
  6. Blacky1980 Erfahrener User
    Hallo Karin.

    Werde es mir merken und immer den Namen der Datei dem Beitrag anpassen!

    Das ist fast genau so wie ich es mir vorgestellt habe. Vielen vielen Dank schonmal dafür. Echt klasse*Hut ab und auf Knie falle*

    Ist es auch möglich das so zu machen das wenn es das Gesuchte nur einmal gibt das er mir das gleich einträgt ohne das erst die UserForm mit der ListBox auf macht?

    Es sind nur selten Sachen bei die es mehrfach gibt.

    Danke

    Gruß Michael
     
    Blacky1980, 1. Oktober 2012
    #6
  7. Beverly
    Beverly Erfahrener User
    Hi Michael,

    ändere den Code nach der Loop While Schleife wie folgt:

    Code:
             If UserForm1.ListBox1.ListCount > 1 Then
                Me.Hide
                UserForm1.Show
             Else
                Worksheets("Abfragekarte").Range("B4") = wksTab.Cells(Rng.Row, 1)
                UserForm1.ListBox1.Clear
             End If
    
    Bis später,
    Karin
     
    Beverly, 2. Oktober 2012
    #7
  8. Blacky1980 Erfahrener User

    TextBox Inhalt auf anderem Tabellenblatt suchen

    Hallo Karin

    Danke für die Antwort. Wo soll ich das rein machen und bei welcher UserForm?

    Hier der Code von UserForm15 (die zum suchen)

    Code:
    Private Sub CommandButton1_Click()
       Dim Rng As Range
       Dim wksTab As Worksheet
       Dim strStart As String
       Dim blnVorhanden As Boolean
       Dim lngWerte As Long
       Set wksTab = Worksheets("Anlagenkartei")
       If Len(TextBox1) <> 0 Then
          Set Rng = wksTab.UsedRange.Find(CVar(TextBox1), LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
          If Not Rng Is Nothing Then
             strStart = Rng.Address
             Do
                For lngWerte = 0 To UserForm1.ListBox1.ListCount - 1
                   If UserForm1.ListBox1.List(lngWerte, 1) = Rng.Row Then
                      blnVorhanden = True
                      Exit For
                   End If
                Next lngWerte
                If blnVorhanden = False Then
                   UserForm1.ListBox1.AddItem wksTab.Cells(Rng.Row, 1)
                   UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 1) = Rng.Row
                End If
                blnVorhanden = False
                Set Rng = wksTab.UsedRange.FindNext(Rng)
             Loop While Not Rng Is Nothing And strStart <> Rng.Address
             Me.Hide
             UserForm1.Show
          Else
             MsgBox TextBox1 & " wurde nicht gefunden!", vbOKOnly
          End If
       End If
       Set Rng = Nothing
    End Sub
    Hier der Code von der UserForm1 (zum Auswählen)

    Code:
    Private Sub CommandButton1_Click()
       With Worksheets("Abfragekarte")
          .Unprotect pw
          .Range("B4").Value = Worksheets("Anlagenkartei").Cells(ListBox1.List(ListBox1.ListIndex, 1), 2).Value
          .Protect pw
       End With
    End Sub
    
    Private Sub ListBox1_Click()
       Dim wksTab As Worksheet
       Set wksTab = Worksheets("Anlagenkartei")
       TextBox1 = wksTab.Cells(ListBox1.List(ListBox1.ListIndex, 1), 4)
       TextBox4 = wksTab.Cells(ListBox1.List(ListBox1.ListIndex, 1), 10)
       TextBox3 = wksTab.Cells(ListBox1.List(ListBox1.ListIndex, 1), 12)
       TextBox2 = wksTab.Cells(ListBox1.List(ListBox1.ListIndex, 1), 13)
       Set wksTab = Nothing
    End Sub
    Kannst Du mir das mal bitte machen ich blick da noch nicht so wirklich durch.

    Vielen Dank

    Gruß Michael
     
    Blacky1980, 2. Oktober 2012
    #8
  9. Beverly
    Beverly Erfahrener User
    Hi Michael,

    es gibt doch nur 1 enzige Stelle im gesamten Code, in der - so wie schon geschrieben - Loop While steht. Ersetze die beiden unterhalb davon stehenden Codezeilen durch die 7 Codezeilen. Der Code ist doch durch Einrückungen extra so formatiert, damit man besser erkennen kann, was man ersetzen muss.

    Bis später,
    Karin
     
    Beverly, 2. Oktober 2012
    #9
  10. Blacky1980 Erfahrener User
    Hallo Karin

    SUPER Vielen vielen dank nun klappt es genau so wie ich mir das Vorgestellt habe.


    Kann man das vieleicht in der UserForm15 (zum suchen) so machen das er nach drücken der Entertaste das macht oder geht das nur über einen Button. Wäre schön wenn es auch mit Enter drücken ginge.

    Gruß Michael
     
    Blacky1980, 2. Oktober 2012
    #10
  11. Beverly
    Beverly Erfahrener User
    Hi Michael,

    verwende ein Key-Ereignis der TextBox - z.B. so:

    Code:
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
       If KeyCode = 13 Then    '<== KeyCode 13 entspricht Enter
          '... hier der Code vom CommandButton
       End If
    End Sub
    
    Bis später,
    Karin
     
    Beverly, 2. Oktober 2012
    #11
  12. Blacky1980 Erfahrener User
    Hallo Karin

    PERFEKT

    Vielen vielen Dank genau so wollte ich es haben und nicht anderes.

    Aber eine frage habe ich noch wegen einer ListBox.
    Wie kann man das einstellen das einmal klick die Daten in die textBoxen schreibt und bei doppel klicken den Button ersetzt.

    Kannst Du mir das sagen brauche das für eine andere ListBox oder neuen Beitrag aufmachen dafür?

    Vielen vielen dank

    Gruß Michael
     
    Blacky1980, 2. Oktober 2012
    #12
  13. Blacky1980 Erfahrener User

    TextBox Inhalt auf anderem Tabellenblatt suchen

    Hallo Karin

    Habe es hin bekomen nach dem ich alles abgeschossen habe.

    Habe nun als

    Code:
    Private Sub CommandButton6_Click()
    diese rein gemacht

    Code:
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    und siehe da es geht.

    Du warst mir aber eine echte Hilfe.

    Vielen Dank Dir nochmal für die Super hilfe.

    Gruß Michael
     
    Blacky1980, 2. Oktober 2012
    #13
  14. Robbie1985 Neuer User
    Guten Abend zusammen,

    ich habe mir den Beitrag durchgelesen und es ist fast genau das was ich auch machen möchte. Ich habe den Code schon an meine Tabelle angepasst und er funktioniert tadellos.

    Nun komme ich aber zu meinem eigentlichen Problem:

    Ich habe nicht nur eine TextBox, sondern 3.
    TextBox 1 = Name
    TextBox 2 = Vorname
    TextBox 3 = Kundennummer

    Nun möchte ich gerne, das wenn in einer TextBox was steht, der Inhalt in der Tabelle gesucht wird. Wenn in 2 TextBoxen etwas eingetragen wurde, der Inhalt gesucht wird, oder wenn in allen 3 TextBoxen etwas steht, dann dieser Inhalt gesucht wird.

    Ich hoffe ihr könnt mir helfen.

    Vielen dank schonmal im voraus.

    Viele Grüße Robbie1985
     
    Robbie1985, 7. April 2020
    #14
  15. Beverly
    Beverly Erfahrener User
    Hi,

    ich nehme an, es soll im Höchstfall die Übereinstimmung in 3 Spalten gefunden werden? Benutze den Autofilter und filtere entsprechend in 1, 2 oder 3 Spalten.

    Genereller Hinweis: wenn man sich auf einen bereits vorhandenen Thread beziehen möchte ist es immer besser, einen eigenen Thread zu erstellen und dann auf den alten Thread zu verweisen, d.h. ihn zu verlinken, anstatt seinen Beitrag an den alten Thread anzuhängen.

    Bis später,
    Karin
     
    Beverly, 8. April 2020
    #15
Thema:

TextBox Inhalt auf anderem Tabellenblatt suchen

Die Seite wird geladen...
  1. TextBox Inhalt auf anderem Tabellenblatt suchen - Similar Threads - TextBox Inhalt Tabellenblatt

  2. Wert aus Inputbox in Textbox übernehmen ohne Inhalt zu löschen

    in Microsoft Excel Hilfe
    Wert aus Inputbox in Textbox übernehmen ohne Inhalt zu löschen: Hallo zusammen, ich habe mir ein Code mit hilfe KI gebastelt und komme nicht weiter. Wenn ich über die Inputbox eine Text eingebe, soll er den bestehenden Textinhalt nicht leeren sondern die...
  3. Inhalt ActiveX TextBox positionieren

    in Microsoft Excel Hilfe
    Inhalt ActiveX TextBox positionieren: Hallo, vielleicht kann mir hierzu jemand einen Tipp geben. Ich habe eine ActiveX TextBox. Der Inhalt der TextBox soll horizontal linkbündig sein, was ich über die Eigenschaften einstellen kann....
  4. Inhalt von Textbox auf Userform in Zahl umwandeln

    in Microsoft Excel Hilfe
    Inhalt von Textbox auf Userform in Zahl umwandeln: N´abend. Ich habe ein Problem, dass natürlich auch schon mehrfach beschrieben wurde, mich deren "Lösungen" aber leider nicht weitergebracht haben. Vielleicht hat ja jemand noch eine Idee.......
  5. Inhalt aus textbox in nächste freie Zelle schreiben

    in Microsoft Excel Hilfe
    Inhalt aus textbox in nächste freie Zelle schreiben: Hallo, über Commandbutton soll der Inhalt aus Textbox1 und 2 in die nächste freie Zeile in Spalte A und B geschrieben werden. Mit meinen Code klappte das bisher auch. jetzt schreibt er immer in...
  6. Inhalt aus mehreren Textboxen in Tabelle suchen und in Listbox ausgeben

    in Microsoft Excel Hilfe
    Inhalt aus mehreren Textboxen in Tabelle suchen und in Listbox ausgeben: Guten Morgen zusammen, hier im Forum bin ich auf folgenden Code gestoßen http://www.office-hilfe.com/support/showthread.php/17436-TextBox-Inhalt-auf-anderem-Tabellenblatt-suchen. Für meine...
  7. Excel VBA Userform Textbox Inhalt variabel

    in Microsoft Excel Hilfe
    Excel VBA Userform Textbox Inhalt variabel: Ich habe ein kleines Userform, dass mit mit folgendem Code in TextBox1 den Inhalt von Zelle D3, und in Textbox2 den Inhalt von Zelle E3 anzeigt. If [B3] = "X" Then UserForm1.CheckBox1.Value =...
  8. Textbox füllen mit Inhalt aus Zelle B5 des 2.Tabellenblattes

    in Microsoft Excel Hilfe
    Textbox füllen mit Inhalt aus Zelle B5 des 2.Tabellenblattes: Hallo, habe eine UserBox mit einer Textbox1, welche den Wert der Zelle "B5" aus dem 3. Tabellenblatt meiner Excel-Datei auslesen soll. Wichtig ist, das sich die Anweisung auf das 3....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden