Microsoft Excel

Herbers Excel/VBA-Archiv

Sub Form | Herbers Excel-Forum


Betrifft: Sub Form von: Black
Geschrieben am: 29.07.2012 13:47:03

Hallo Zusammen

Ich habe mir eine User Form gebastelt, stehe nun aber etwas an.
Sobald ich das Makro aktiviere bekomme ich ein Dropdown. dies Funktioniert soweit.
Nun sollen in dem Dropdown alle Einträge aus einer Spalte zu sehen sein (keine Doppelten) Sobald ich so einen Eintag auswähle soll darauf gefiltert werden. Spähter werden noch mehr Spalten ausgebeldent mit dem Befehl und deshalb brauche ich das über ein Makro.

Ich habe mal eine Beispiels Datei Hochgeladen.
In der User Form sollen also die Maschienen Angezeigt werden

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

Gruss Black

  

Betrifft: AW: Sub Form von: Hajo_Zi
Geschrieben am: 29.07.2012 13:57:16

die Rechtschreibfehler korrigiert VBA nicht.

Sub UserForm_Activate()
    Dim x As Double
    ComboBox_FZauswahl.Clear
    For x = 6 To IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row, Rows. _
Count)
        With ComboBox_FZauswahl
            If Application.WorksheetFunction.CountIf(Range(Cells(6, 3), Cells(x, 3)), Cells(x,  _
3)) = 1 Then
                .AddItem Sheets("Tabelle1").Cells(x, 3)
            End If
        End With
    Next x
    ComboBox_FZauswahl.Value = ""
End Sub
GrußformelHomepage


  

Betrifft: AW: Sub Form von: Black
Geschrieben am: 29.07.2012 15:30:01

Danke dir. jedoch klappt das mit dem Filter noch nicht richtig bei mir.
Sobald ich mir etwas ausgesucht habe soll er mir nur doch diese Spalten anzeigen.


  

Betrifft: AW: Sub Form von: Hajo_Zi
Geschrieben am: 29.07.2012 15:31:27

Es ging in dem Beitrag nur darum das jeder Eintrag nur einmal angezeigt wird und das habe ich umgesetzt.

Gruß Hajo


  

Betrifft: AW: Sub Form von: Black
Geschrieben am: 29.07.2012 15:41:05

Ich habe geschrieben das sobald darauf geklickt wird gefiltert werden soll. Ev hast du mich da falsch verstanden, entschuldige. Ich wäre dir sehr dankbar wen du mir das andere auch noch zeigen könnest

Grüsse Black


  

Betrifft: AW: Sub Form von: Hajo_Zi
Geschrieben am: 29.07.2012 16:12:12

das kann ich Leider nicht, da mir der Code nicht klar ist. Was bestimmt auch damit zusammenhängt das nicht aller Code da ist.
Das ist mir auch zu aufwendig mich in den Code einzuarbeiten.

Gruß Hajo


  

Betrifft: AW: Sub Form von: Hajo_Zi
Geschrieben am: 29.07.2012 16:36:51

den ersten Code noch ein wenig angepast.

Sub UserForm_Activate()
    Dim x As Double
    ComboBox_FZauswahl.Clear
    With Sheets("Tabelle1")
        For x = 6 To IIf(IsEmpty(.Cells(Rows.Count, 3)), _
                .Cells(Rows.Count, 3).End(xlUp).Row, .Rows.Count)
            With ComboBox_FZauswahl
                If Application.WorksheetFunction.CountIf(.Range(.Cells(6, 3), _
                    .Cells(x, 3)), .Cells(x, 3)) = 1 Then
                    .AddItem Sheets("Tabelle1").Cells(x, 3)
                End If
            End With
        Next x
    End With
    ComboBox_FZauswahl.Value = ""
End Sub

Gruß Hajo


  

Betrifft: AW: Sub Form von: Hajo_Zi
Geschrieben am: 29.07.2012 16:56:13

Ich habe demn Code jetzt unabhängig vom vorhandenen gemacht.

Option Explicit

Private Sub ComboBox_FZauswahl_Change()
    With Sheets("Tabelle1")
        If Not .AutoFilterMode = True Then
            If .Range("C5") = "" Then
                .Range("C5") = "Überschrift"
            End If
            .Range("C5").AutoFilter
        End If
        .Range("$C$5").AutoFilter Field:=1, Criteria1:=ComboBox_FZauswahl
    End With
End Sub

Sub UserForm_Activate()
    Dim x As Double
    ComboBox_FZauswahl.Clear
    With Sheets("Tabelle1")
        For x = 6 To IIf(IsEmpty(.Cells(Rows.Count, 3)), _
                .Cells(Rows.Count, 3).End(xlUp).Row, .Rows.Count)
            With ComboBox_FZauswahl
                If Application.WorksheetFunction.CountIf(Sheets("Tabelle1").Range( _
                    Sheets("Tabelle1").Cells(6, 3), Sheets("Tabelle1").Cells(x, 3)), _
                    Sheets("Tabelle1").Cells(x, 3)) = 1 Then
                    .AddItem Sheets("Tabelle1").Cells(x, 3)
                End If
            End With
        Next x
    End With
    ComboBox_FZauswahl.Value = ""
End Sub
Gruß Hajo


  

Betrifft: AW: Sub Form von: Black
Geschrieben am: 29.07.2012 17:55:04

jeah danke! jedoch funktioniert das mit dem Filter noch nicht richtig, der setzt mir den Filter in der Spalte A anstatt in der Spalte C.

Gruss und vielen Dank Black


  

Betrifft: AW: Sub Form von: Hajo_Zi
Geschrieben am: 29.07.2012 17:56:17

bei mir wurde der Filter in C5 gesetzt wie es auch im Code steht.

Gruß Hajo


  

Betrifft: AW: Sub Form von: Hajo_Zi
Geschrieben am: 29.07.2012 19:27:00

teste den Code an der hochgeladenen Datei und Dir wird auffallen das er das macht was er soll.
Das der Code nicht in Deiner Original Datei geht liegt bestimmt daran, das das Original anders aussieht als die hochgeladene Datei. Das kann aber nur einen Grund haben das die Dateienn unterschiedlich sind, du wolltest den geposteten Code selber anpassen und das darfst Du jetzt auch.

Gruß Hajo


  

Betrifft: AW: Sub Form von: Black
Geschrieben am: 29.07.2012 20:33:31

jeah danke! jedoch funktioniert das mit dem Filter noch nicht richtig, der setzt mir den Filter in der Spalte A anstatt in der Spalte C.

Gruss und vielen Dank Black


  

Betrifft: AW: Sub Form von: Black
Geschrieben am: 29.07.2012 20:34:32

ok funktioniert vielen, vielen dank.