Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1668to1672
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Wenn Zellwert > 1 dann MsgBox mit Adresse
28.01.2019 16:19:58
Philipp
Hallo,
ich möchte einen bestimmten Tabellenbereich (Db_log) auslesen und wenn der Wert der Zellen größer als 1 ist dann soll eine Messagebox mit einer Warnung erscheinen "Achtung Doppeleintrag in z.b: A3, B4...". Nachfolgender Code warnt mich zwar vor einem Doppeleintrag:
Dim Zeile_log As Integer
Dim Db_log As Range
Worksheets(str_name_FE).Activate
Zeile_log = Worksheets(str_name_FE).Cells(Rows.Count, 1).End(xlUp).Row
Set Db_log = Range(Cells(letzte_zeile + 7, 2), Cells(Zeile_log, int_spalte - 2)).Find("2")
If Db_log = "2" Then
MsgBox "Achtung Doppeleinträge"
Exit Sub
End If
läuft aber ins leere (Debug Fehler) wenn die Werte kleiner 2 sind. Wie kann ich das verhindern und in der MsgBox die Adresse(n) der Zelle(n) mit ausgeben?
Grüße,
Philipp

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Zellwert > 1 dann MsgBox mit Adresse
28.01.2019 16:45:04
UweD
Hallo
die Fehlenden Angaben habe ich mit Annahmen versehen.
So?
Sub rtrtr()
    Dim str_name_FE As String: str_name_FE = "Tabelle1"
    Dim Zeile_log As Integer, letzte_zeile As Integer, int_spalte As Integer
    Dim Db_log As Range
    
    letzte_zeile = 1
    int_spalte = 5
    
    With Worksheets(str_name_FE)
    
        Zeile_log = .Cells(.Rows.Count, 1).End(xlUp).Row
        
        Set Db_log = .Range(.Cells(letzte_zeile + 7, 2), .Cells(Zeile_log, int_spalte - 2)).Find("2")
        
        If Not Db_log Is Nothing Then
            If Db_log = "2" Then
        
                MsgBox "Achtung Doppeleinträge " & Db_log.Address(0, 0)
        
                Exit Sub
            End If
        Else
            MsgBox "Nix da"
        End If
    End With
End Sub

LG UweD
Anzeige
AW: Wenn Zellwert > 1 dann MsgBox mit Adresse
28.01.2019 17:50:10
Philipp
Hallo,
ganz lieben Dank für die schnelle Reakton. Prinzipiell ist das schon die richtige Richtung wo es hingehen soll, nur brauche ich keine MsgBox "nix da". Wenn der Code nichts findet soll er einfach weiter durchlaufen. Bekommt man es auch hin das es einem mehrere Adressen ausgibt falls mehrere gefunden werden? Beispeilesweise die Meldung "Achtung Doppeleinträge in C26, B45, F30"?
Grüße
AW: Wenn Zellwert > 1 dann MsgBox mit Adresse
28.01.2019 19:47:08
UweD
Hallo nochmal
so?
Sub rtrtr()
    Dim str_name_FE As String: str_name_FE = "Tabelle1"
    Dim Zeile_log As Integer, letzte_zeile As Integer, int_spalte As Integer
    Dim Db_log As Range, firstAddress, TXT As String, Suchen As String
    
    letzte_zeile = 1
    int_spalte = 5
    Suchen = "2"
    
    With Worksheets(str_name_FE)
    
        Zeile_log = .Cells(.Rows.Count, 1).End(xlUp).Row
        
        With .Range(.Cells(letzte_zeile + 7, 2), .Cells(Zeile_log, int_spalte - 2))
            Set Db_log = .Find(Suchen)
        
            If Not Db_log Is Nothing Then
                firstAddress = Db_log.Address
                Do
                    TXT = TXT & "; " & Db_log.Address(0, 0)
                    Set Db_log = .FindNext(Db_log)
                Loop While Not Db_log Is Nothing And Db_log.Address <> firstAddress
                
            End If
            
            If TXT <> "" Then
                MsgBox "Achtung Doppeleinträge " & Mid(TXT, 3) 'Erste ; abschneiden 
        
                Exit Sub
            End If
        End With
    End With
End Sub

LG UweD
Anzeige

346 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige