Microsoft Excel

Herbers Excel/VBA-Archiv

Prüfen UF und Tabelle


Betrifft: Prüfen UF und Tabelle
von: Sigi
Geschrieben am: 20.04.2019 18:00:13

Hallo,
ich möchte prüfen ob die ComboBox Einträge mit den Tabellenblatt Einträgen
übereinstimmen.
Leider kommt immer "Kein Eintrag"
Danke!
Gruß
Sigi

http://www.herber.de/bbs/user/129292.xlsm

  

Betrifft: AW: Prüfen UF und Tabelle
von: Nepumuk
Geschrieben am: 20.04.2019 18:12:56

Hallo Sigi,

teste mal:

Private Sub CommandButton2_Click()
    Dim lol As Long
    Dim bFlag As Boolean
    
    With Worksheets("Tabelle1")
        For lol = 2 To .Cells(Rows.Count, 2).End(xlUp).Row
            If Not IsEmpty(.Cells(lol, 2).Value) And _
                .Cells(lol, 2).Value = ComboBox2.Text And _
                .Cells(lol, 3).Value = Val(ComboBox3.Text) And _
                .Cells(lol, 4).Value = ComboBox1.Text Then
                bFlag = True
                Exit For
            End If
        Next
    End With
    
    If bFlag = True Then
        MsgBox "Eintrag vorhanden"
    Else
        MsgBox "Kein Eintrag"
    End If
    
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Prüfen UF und Tabelle
von: Sigi
Geschrieben am: 20.04.2019 18:19:08

Hallo Nepumuk,
es funktioniert, aber warum muß ich bei der Jahresangabe VAL angeben?
Danke!
Gruß
Sigi


  

Betrifft: AW: Prüfen UF und Tabelle
von: Nepumuk
Geschrieben am: 20.04.2019 18:23:28

Hallo Sigi,

weil die Zelle eine Zahl enthält, die ComboBox aber Text. Es würde auch ohne Val funktionieren, aber ich versuche immer sauber zu programmieren.

Gruß
Nepumuk


  

Betrifft: AW: Prüfen UF und Tabelle
von: Sigi
Geschrieben am: 20.04.2019 18:25:12

Hallo Nepumuk,
Danke für den Hinweis auf Zahl und Text, werde mir das merken.
Gruß
Sigi


  

Betrifft: AW: Prüfen UF und Tabelle
von: Hajo_Zi
Geschrieben am: 20.04.2019 18:17:55

Halo Sigi,

warum Prüfung?

Private Sub CommandButton2_Click()
    Dim RaFound As Range
    If ComboBox2 <> "" Then
        Set RaFound = Columns(2).Find(ComboBox2, Range("B" & Rows.Count), xlFormulas, _
            xlWhole, , xlNext)
    End If
    If RaFound Is Nothing Then
        If ComboBox1 <> "" Then
            Set RaFound = Columns(4).Find(ComboBox1, Range("D" & Rows.Count), xlFormulas, _
                xlWhole, , xlNext)
        End If
        If RaFound Is Nothing Then
            If ComboBox3 <> "" Then
                Set RaFound = Columns(3).Find(ComboBox3, Range("C" & Rows.Count), xlFormulas, _
                    xlWhole, , xlNext)
            End If
        End If
    End If
    If Not RaFound Is Nothing Then
        MsgBox "Eintrag vorhanden"
    Else
        MsgBox "Kein Eintrag"
    End If
End Sub
GrußformelHomepage

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Die Beiträge werden auch ignoriert, es erfolgt keine Antwort.


  

Betrifft: AW: Prüfen UF und Tabelle
von: Sigi
Geschrieben am: 20.04.2019 18:23:31

Hallo Hajo,
Danke für Deine Antwort!
Deine Weise funktioniert ebenfalls.
Gruß
Sigi


  

Betrifft: AW: Prüfen UF und Tabelle
von: Werner
Geschrieben am: 21.04.2019 05:07:29

Hallo,

und von mir noch eine Möglichkeit mit Countif

Private Sub CommandButton2_Click()
Dim bFlag As Boolean

With Worksheets("Tabelle1")
    If Me.ComboBox1 <> "" And Me.ComboBox2 <> "" And Me.ComboBox3 <> "" Then
        If WorksheetFunction.CountIf(.Columns(2), Me.ComboBox2) > 0 Then
            If WorksheetFunction.CountIf(.Columns(4), Me.ComboBox1) > 0 Then
                If WorksheetFunction.CountIf(.Columns(3), CLng(Me.ComboBox3)) > 0 Then
                    bFlag = True
                End If
            End If
        End If
    Else
        MsgBox "Bitte Werte in Combobox wählen."
        Exit Sub
    End If
    
    If bFlag Then
        MsgBox "Eintrag vorhanden."
    Else
        MsgBox "Kein Eintrag."
    End If
End With

bFlag = False
End Sub
Gruß Werener


  

Betrifft: AW: Prüfen UF und Tabelle
von: Nepumuk
Geschrieben am: 21.04.2019 05:56:09

Hallo Werner,

der selbe Fehler wie Hajo, die 3 ComboBox-Werte müssen in einer Zeile vorkommen, nicht in irgendeiner.

Gruß
Nepumuk


  

Betrifft: Danke für den Tadel
von: Werner
Geschrieben am: 21.04.2019 17:19:37

Hallo Nepumuk,

...den Code im Eingangsbdeitrag habe ich mir fast nicht angeschaut - mein Fehler. Danke für den Hinweis dazu.

@Sigi

Nur ne Spielerei aber dann wäre auch Countifs eine Möglichkeit.

Private Sub CommandButton2_Click()
Dim bFlag As Boolean, i As Long

With Worksheets("Tabelle1")
    If Me.ComboBox1 <> "" And Me.ComboBox2 <> "" And Me.ComboBox3 <> "" Then
        For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
            If Not IsEmpty(.Cells(i, 2)) Then
                If WorksheetFunction.CountIfs(.Cells(i, 2), Me.ComboBox2, .Cells(i, 3), _
                CLng(Me.ComboBox3), .Cells(i, 4), Me.ComboBox1) > 0 Then
                    bFlag = True
                    Exit For
                End If
            End If
        Next i
    Else
        MsgBox "Bitte Eintrag in Combobox wählen."
        Exit Sub
    End If
End With

If bFlag Then
    MsgBox "Eintrag vorhanden."
Else
    MsgBox "Kein Eintrag."
End If

End Sub
Gruß Werner


  

Betrifft: AW: Prüfen UF und Tabelle
von: Sigi
Geschrieben am: 21.04.2019 05:56:45

Hallo Werner,
auch Dir mein Dank!
Viele Wege führen nach Rom..
Gruß
Sigi