Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Suchfunktion wird im Listfeld nicht ...

Betrifft: Suchfunktion wird im Listfeld nicht ... von: Walter k
Geschrieben am: 24.09.2020 19:46:58

Guten Abend,
ich habe dieses Makro gefunden, die Suchfunktion klappt wird in der Tabelle angezeigt
aber nicht in der Listbox:

Private Sub CommandButton2_Click()
Dim WkSh        As Worksheet
Dim lLetzte     As Long
Dim myRange     As Range
Dim strAddress  As String
Dim bolAbbruch  As Boolean

 Set WkSh = Worksheets("Typen")
 
    lLetzte = WkSh.Cells(Rows.Count, 2).End(xlUp).Row
   If lLetzte < 4 Then lLetzte = 4
      
   If TextBox1.Value = "" Then
      MsgBox "Es fehlt ein Suchbegriff in der TextBox1 - Abbruch", _
         48, "   Hinweis für " & Application.UserName
      TextBox1.SetFocus
      Exit Sub
    Else
      TextBox1.Value = WorksheetFunction.Proper(TextBox1.Value)
   ' nachfolgend werden die TextBox1.Werte gesucht und gefunden.
   ' Mit LookIn:=xlValues  wird nach den Zellwerten gesucht.
   ' Mit LookAt:=xlPart    muß der Suchbegriff nicht komplett mit
   ' dem Suchergebnis übereinstimmen.
      With WkSh
         Set myRange = .Columns(2).Find(What:=Typen_UF.TextBox1.Value, _
            LookIn:=xlValues, LookAt:=xlPart, After:=.Cells(Rows.Count, 2))
      
         If Not myRange Is Nothing Then
            strAddress = myRange.Address
            myRange.Activate
            FundZeile = ActiveCell.Row
        '    GoSub Anzeigen
            Do
               If MsgBox("Weitersuchen?", 36, "   Abfrage") = vbNo Then
                  bolAbbruch = True
                  Exit Sub
                Else
                  Set myRange = .Columns(2).FindNext(myRange)
                  If myRange.Address <> strAddress Then
                     myRange.Activate
                     FundZeile = ActiveCell.Row
          '           GoSub Anzeigen
                  End If
               End If
        Loop While Not myRange Is Nothing And myRange.Address <> strAddress
          
            If Not bolAbbruch Then
              MsgBox "Keine weiteren Datensätze gefunden.", _
                   48, "   Information für " & Application.UserName
               FundZeile = 0
             Else
               MsgBox "Keinen übereinstimmenden Datensatz gefunden", _
                  48, "   Information für " & Application.UserName
               FundZeile = 0
            End If
          Else
            MsgBox "Keinen übereinstimmenden Datensatz gefunden", _
               48, "   Information für " & Application.UserName
            FundZeile = 0
            With TextBox1
               .SetFocus
               .SelStart = 0
               .SelLength = Len(.Text)
            End With
         End If
      End With
   End If
End Sub
Hier das Makro für die Übernahme der Daten in die ListBox:
Private Sub CommandButton23_Click()
   TextBox1.Value = ListBox1.List(Me.ListBox1.ListIndex, 0)
   TextBox2.Value = ListBox1.List(Me.ListBox1.ListIndex, 1)
End Sub
mfg walter k

Betrifft: AW: Suchfunktion wird im Listfeld nicht ...
von: ralf_b
Geschrieben am: 24.09.2020 20:52:10

dein CommandButton23 macht aber was Anderes. da wird ein Wert der Listbox in Textboxen geschrieben.

und CommandButton2 löst zwar eine Suche aus ,aber da dort nirgends etwas in eine Listbox geschrieben wird, kannst du es auch nicht erwarten.

'GoSub Anzeigen ist auskommentiert. vielleicht wird hier ja was irgendwohin geschrieben. aber wer weis das schon?

Betrifft: Und was muß man jetzt machen ?
von: Walter k
Geschrieben am: 24.09.2020 21:05:11

Hallo Ralf,
wie gesagt habe aus Forum mal gefunden, was muss jetzt machen oder
hast Du einen Tip ?

mfg
walter k

Betrifft: AW: Und was muß man jetzt machen ?
von: ralf_b
Geschrieben am: 24.09.2020 21:13:36

so wie ich das sehe, verstehst du so einen Programmcode nicht wirklich. Also bereiten dir Tips um da und dort was zu verändern eher Schwierigkeiten. Deshalb möchtest du sicher eine fertige Lösung. Aber dafür fehlt eine Beispieldatei an welcher ein geneigter User sich austoben könnte. Das Stück Arbeit sollte schon noch von dir kommen. Datei mit Userform und passender Beispieltabelle.

Betrifft: Anbei Musterdatei
von: Walter k
Geschrieben am: 25.09.2020 09:50:43

Guten Morgen,
hier ist die Musterdatei.
Die Suchfunktion klappt nicht.
Die Änderung (button) klappt auch nicht.
Alles andere klappt.
https://www.herber.de/bbs/user/140426.xls

mfg
walter k

Betrifft: Bitte mal alle Schauen...
von: Walter k
Geschrieben am: 25.09.2020 12:16:57

Guten Moregn zusammen,
vielleicht hat jemand eine Idee ?

mgf
walter k

Betrifft: AW: Bitte mal alle Schauen...
von: ralf_b
Geschrieben am: 25.09.2020 13:47:41

https://www.herber.de/bbs/user/140434.xls

ich hab da mal was vorbereitet. es ist nur ein Tropfen auf den heißen stein. Aber die Suche in textbox1 geht und die Änderung wird in die tabelle übernommen.

Betrifft: Super Ralf
von: Walter k
Geschrieben am: 25.09.2020 15:04:23

Hallo Ralf,
super Danke.
Das einzige, wenn man den Text ändert sollte die Zeile in der
Listbox auch makiert werden bzw. selectiert.


mfg
walter k

Betrifft: AW: Super Ralf
von: ralf_b
Geschrieben am: 25.09.2020 15:54:24

Ach, tut sie das nicht? Und warum?
 With ListBox1
       '  Call Array_fuellen
         .Clear    
       '  .Column = aTmp
      End With
    
    With Sheets("Typen")
        ListBox1.List = .Range(.Cells(4, 2), .Cells(4, 2).End(xlDown)).Resize(, 2).Value
    End With
weil du die liste leer machst und dann komplett neu füllst. Naja die Schuld liegt vielleicht bei den Andern, die dir die Arbeit abnehmen. Habe einige Threads von dir gesehen.

Gegen die nervigen Msgboxen bei deiner Suchfunktion habe ich eine Idee. Ich hoffe sie läuft zum testen fehlerfrei. Beim Übernehmen solltest du dir den Code genau anschauen,damit nichts vergessen wird.

https://www.herber.de/bbs/user/140442.xls

Betrifft: AW: Super Ralf, DANKE für ALLES -)
von: Walter k
Geschrieben am: 25.09.2020 16:34:35



Betrifft: gern, danke für die rückmeldung owt
von: ralf_b
Geschrieben am: 25.09.2020 16:39:19