Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Suchbutton in Userform

Betrifft: Suchbutton in Userform von: Meike
Geschrieben am: 24.06.2015 14:22:42

Hallo Zusammen,

ich bin mal wieder auf eure Unterstützung angewiesen. :)

Ich möchte beim Klick auf das Tabellenblatt "Kurzprofil_Untern.", dass sich eine Userform öffnet. Der Code hinter meinem Tabellenblatt:

Private Sub Worksheet_Activate()
Userform1.Caption = "Kurzprofil"
Userform1.Show
End Sub
In der Userform soll für den Bereich "Branche" ein Suchoption bestehen.
In der ausgeblendeten Tabelle RKZ_WKZ habe ich ab Zelle C1 alle möglichen Branchen hinterlegt. Das Tabellenblatt RKZ_WKZ soll zu jederzeit ausgeblendet bleiben.
Nun möchte ich, dass über einen Suchbutton die Tabelle RKZ_WKZ durchsucht wird und zutreffende Brnachen als Auswahl angezeigt werden. (Siehe Bild).



Suchbutton = btnSuch
Suchtext-Feld = txtSuch
Dropdownauswahl = cmbWKZ

Ich habe hier schon versucht an ähnlichen Codes herum zu basteln - leider vergeblich.
Mein Problem bei dem unten eingeblendeten Code ist, dass ich nicht im Tabellenblatt "Kurzprofil_Untern." bleibe sondern immer auf das Tabellenblatt springe das nach der ausgeblendeten Tabelle RZW_WKZ liegt.

Wäre super, wenn mir einer von euch weiterhelfen könnte.

Vielen Dank im Voraus und ganz liebe Grüße
Meike

Option Explicit
Sub Test()
Dim Sp As String
Application.ScreenUpdating = False
Sheets("RKZ_WKZ").Visible = True
Sheets("RKZ_WKZ").Select
ActiveSheet.Unprotect "pw"
ActiveSheet.Columns("A:A").Select
Selection.EntireColumn.Hidden = False

Dim i As Integer
Dim x As Integer
x = 0

If Len(UCase(Range("C" & i).Value)) > 0 Then
If InStr(1, UCase(Range(Sp & i).Value), UCase(txtSuch)) Then
cmbWKZ.AddItem Range("c" & i).Value, x
cmbWKZ.List(x, 1) = Range("C" & i).Value
x = x + 1
End If
Else
GoTo ENDE
End If
Next
ENDE:
ActiveSheet.Columns("A:A").Select
Selection.EntireColumn.Hidden = True
ActiveSheet.Protect Password:="pw", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells

If cmbWKZ.ListCount = 1 Then
cmbWKZ.Enabled = True
cmbWKZ.ListIndex = 0
ElseIf cmbWKZ.ListCount > 1 Then
cmbWKZ.Enabled = True
cmbWKZ.DropDown
Else
End If

Sheets("RKZ_WKZ").Visible = False
Application.ScreenUpdating = True

End Sub
Private Sub cmbWKZ_Change()
    If cmbWKZ = -1 Then
        cmbWKZ.ListIndex = 0
    End If
End Sub

Private Sub btnsuch_Click()
    Test
End Sub
Private Sub txtSuch_Enter()
    txtSuch.SelStart = 0
    txtSuch.SelLength = Len(txtSuch.Value)
End Sub

Private Sub cmdOkUnt_Click()
    Select Case Me.Caption
        Case "Betriebsart Auswahl SVFP"
            Tab_A08_Kurzprofil.Range("L8").Value = cmbWKZ.Text
            Tab_A08_Kurzprofil.Range("K15").Value = Txt_L1.Text
            
        Case Else
    
    End Select
    Unload Me
End Sub

  

Betrifft: AW: Suchbutton in Userform von: R udi Maintaire
Geschrieben am: 24.06.2015 15:53:11

Hallo,

Sub Test()
  Dim r As Range
  Application.ScreenUpdating = False
  cmbWKZ.Clear  'ComboBox-Einträge löschen
  With Sheets("RKZ_WKZ")
    For Each r In .Range(.Cells(1, 3), .Cells(.Rows.Count, 3).End(xlUp))
      If InStr(1, r, txtSuch, vbTextCompare) Then cmbWKZ.AddItem r
    Next
  End With
  With cmbWKZ
    .Enabled = .ListCount > 0
    Select Case .ListCount
      Case 1: .ListIndex = 0
      Case Is > 1: .DropDown
    End Select
  End With
End Sub

Gruß
Rudi


  

Betrifft: AW: Suchbutton in Userform von: Meike
Geschrieben am: 24.06.2015 16:51:22

Hi Rudi,

erstmal viele Dank für deine Hilfe. Ich habe den Test-Code durch deinen Vorschlag ersetzt. Leider zeigt es mir jetzt aber keine Vorschläge mehr an. Kannst du mir erklären woran das liegen könnte?




Kann es evtl. sein, dass in der Tabelle RKZ_WKZ die falsche Spalte angesprochen wird?



Vielen Dank,
Grüße Meike


  

Betrifft: AW: Suchbutton in Userform von: Rudi Maintaire
Geschrieben am: 24.06.2015 18:21:24

Hallo,
keine Ahnung.
Lad die Datei hoch.


Gruß
Rudi


  

Betrifft: AW: Suchbutton in Userform von: Meike
Geschrieben am: 25.06.2015 10:45:20

Hi Rudi,

anbei meine Excel.

https://www.herber.de/bbs/user/98466.xlsm

Danke für deine Hilfe.


Grüßle

Ps.: Tabelle RKZ_WKZ soll eig. ausgeblendet sein.


  

Betrifft: AW: Suchbutton in Userform von: Rudi Maintaire
Geschrieben am: 25.06.2015 12:34:43

Hallo,

Private Sub btnSuch_Click()
  Dim r As Range
  Application.ScreenUpdating = False
  Txt_Branche.Clear  'ComboBox-Einträge löschen
  With Sheets("RKZ_WKZ")
    For Each r In .Range(.Cells(1, 3), .Cells(.Rows.Count, 3).End(xlUp))
      If InStr(1, r, Txt_Such, vbTextCompare) Then Txt_Branche.AddItem r
    Next
  End With
  With Txt_Branche
    .Enabled = .ListCount > 0
    .ColumnCount = 1
    .ColumnWidths = ""
    Select Case .ListCount
      Case 1: .ListIndex = 0
      Case Is > 1: .DropDown
    End Select
  End With
End Sub

Gruß
Rudi


  

Betrifft: AW: Suchbutton in Userform von: Meike
Geschrieben am: 25.06.2015 17:21:58

Super! Funktioniert einwandfrei.

Vielen Dank.


 

Beiträge aus den Excel-Beispielen zum Thema "Suchbutton in Userform"