Thema Datum  Von Nutzer Rating
Antwort
08.05.2022 20:18:20 Andreas
NotSolved
08.05.2022 21:04:20 ralf_b
NotSolved
13.05.2022 18:19:45 Andreas
NotSolved
13.05.2022 18:29:43 Gast48442
NotSolved
Rot VBA Suchfunktion
14.05.2022 02:11:57 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
ralf_b
Datum:
14.05.2022 02:11:57
Views:
420
Rating: Antwort:
  Ja
Thema:
VBA Suchfunktion

und was kommt als Nächstes?

Option Explicit

Private Sub cmd_suchen_Click()

    'Variablen definieren
    Dim varsearch As Variant
    Dim rngFund As Range
    Dim aBereich As Range
    Dim rngUnion As Range
    Dim firstAddress As String
    Dim result As String
    Dim dtDatum As Date
    With Tabelle1                                'Fundsachen

        'Prüfen ob beide Zellen leer sind
        If .Range("A2").Value & .Range("B2").Value = "" Then
            MsgBox ("Bitte Datum oder Zimmernummer eintragen")
            Exit Sub
            'Püfung ob beide Zellen nicht leer sind
        '----------------------------------------------------------------------------
        ElseIf Not IsEmpty(.Range("A2").Value) And Not IsEmpty(.Range("B2").Value) Then
            MsgBox ("Bitte nur Datum oder Zimmernummer eintragen")
            Exit Sub
        '----------------------------------------------------------------------------
        ElseIf .Range("A2").Value = "" Then Set varsearch = .Range("B2")
        
            
                'Suchfunktion
                With .Range(varsearch.Offset(2), .Cells(.Rows.Count, varsearch.Column).End(xlUp))
                
                    Set rngFund = .Find(What:=varsearch.Value, _
                                        LookIn:=xlValues, _
                                        LookAt:=xlWhole)
            
                    If Not rngFund Is Nothing Then
                        firstAddress = rngFund.Address
                        Do
                            If rngUnion Is Nothing Then
                                Set rngUnion = rngFund
                            Else
                                Set rngUnion = Union(rngUnion, rngFund)
                            End If
                            Set rngFund = .FindNext(rngFund)
                        Loop While Not rngFund Is Nothing And firstAddress <> rngFund.Address
                    End If
                End With
      '----------------------------------------------------------------------------
        ElseIf .Range("B2").Value = "" Then Set varsearch = .Range("A2")
        
           
                'Suchfunktion
                With .Range(varsearch.Offset(2), .Cells(.Rows.Count, varsearch.Column).End(xlUp))
                    Set rngFund = .Find(What:=CDate(varsearch.Value), _
                                        LookIn:=xlFormulas, _
                                        LookAt:=xlWhole)
            
            
                    If Not rngFund Is Nothing Then
                        firstAddress = rngFund.Address
                        Do
                            If rngUnion Is Nothing Then
                                Set rngUnion = rngFund
                            Else
                                Set rngUnion = Union(rngUnion, rngFund)
                            End If
                            Set rngFund = .FindNext(rngFund)
                        Loop While Not rngFund Is Nothing And firstAddress <> rngFund.Address
                    End If
                End With
        '----------------------------------------------------------------------------
        End If


        'ergebnisBereich duchlaufen und in Zeilen schreiben
        For Each aBereich In rngUnion.Areas
            For Each rngFund In aBereich
            
                If rngFund.Column = 1 Then
                    result = result & vbCrLf & rngFund.Value & " - Zi: " & rngFund.Offset(, 1).Value
                Else
                    result = result & vbCrLf & rngFund.Offset(, -1).Value & " - Zi: " & rngFund.Value
                End If
            Next
        Next
        
        MsgBox result 'Ausgabe Ergebnis
    End With
End Sub


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
08.05.2022 20:18:20 Andreas
NotSolved
08.05.2022 21:04:20 ralf_b
NotSolved
13.05.2022 18:19:45 Andreas
NotSolved
13.05.2022 18:29:43 Gast48442
NotSolved
Rot VBA Suchfunktion
14.05.2022 02:11:57 ralf_b
NotSolved