Anzeige
Archiv - Navigation
1660to1664
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
Inhaltsverzeichnis

Zellen mit #REF Error finden und löschen

Zellen mit #REF Error finden und löschen
13.12.2018 12:46:37
PurePowerPhil
Hi liebe Community,
Kann mir vllt jemand helfen? Ich habe schon diverse Google Suchen hinter mir aber hat mir bisher nicht recht weitergeholfen.
Also ich habe ein Overview-Sheet das Daten von diversen anderen Sheets zusammenfasst. Diese sind einfach per Referenz eingefügt.
Sobald nun in einem der diversen anderen Sheets eine neue Zeile mit einen neuen Eintrag einfüge und diese später wieder lösche, erscheint ein #REF Error im Overview-Sheet.
Nun möchte ich verhindern das dieser Ref Error im Overview auftaucht bzw. die Zeile mit dem Fehler löschen.
Dies habe ich mit einen einfachen Button realisiert.
Per Klick auf den Button wird das Overview-Sheet nach Ref Error's abgesucht.. Nur funktioniert das ganze nicht..
Der Debugger wirft einen Run-time Fehler '13' Type mismatch.
Hier ist mein Code:

Private Sub UpdateButton_Click()
Dim iRow As Long
Dim i As Long
Dim check_txt As String
iRow = ThisWorkbook.Sheets("MGMT-Overview").Cells(Rows.Count, 12).End(xlUp).Row
'Color in the important Content
ThisWorkbook.Sheets("MGMT-Overview").Range("F4:H" & iRow).Interior.Color = RGB(214, 220, 228)
'Search for any false Values in Sheet
For i = 4 To iRow
'Beide Versionen durch Google suchen gefunden und ohne erfolg ausprobiert
If Cells(2, i).Value = CVErr(xlErrRef) Then
'If (Application.IsError(Cells(2, i).Value)) Then
ThisWorkbook.Sheets("MGMT-Overview").Rows(iRow).EntireRow.Delete
i = i - 1
End If
Next i
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit #REF Error finden und löschen
13.12.2018 13:29:58
Nepumuk
Hallo Phil,
im Prinzip so:
Private Sub UpdateButton_Click()
    
    Dim iRow As Long
    Dim i As Long
    
    With ThisWorkbook.Worksheets("MGMT-Overview")
        
        iRow = .Cells(.Rows.Count, 12).End(xlUp).Row
        
        'Color in the important Content
        .Range("F4:H" & CStr(iRow)).Interior.Color = RGB(214, 220, 228)
        
        'Search for any false Values in Sheet
        For i = iRow To 4 Step -1
            
            If IsError(.Cells(2, i).Value) Then
                
                If .Cells(2, i).Value = CVErr(xlErrRef) Then
                    
                    .Rows(iRow).Delete
                    
                End If
            End If
        Next i
    End With
End Sub

Jetzt kommt ein Großes ABER: Irgendwas an deinem Code stimmt nicht, denn du ermittelst die Anzahl der Zeilen in einer Spalte, aber in der Schleife sprichst du die Zellen in Zeile 2 an.
Gruß
Nepumuk
Anzeige
AW: Zellen mit #REF Error finden und löschen
13.12.2018 13:43:42
PurePowerPhil
Hi Nepumuk,
Danke erstmal für die schnelle Antwort. Deine Schleifen Deklaration ist mir nicht geläufig.
Du lässt die Schleifen Variable von unten nach oben suchen, damit das i = i-1 entfällt oder?
Ja dein Aber ist berechtigt, aber ich habe die Beiden Werte nur vertauscht. Sprich es sollte eig. Cells(i,2) sein und nicht umgekehrt. Danke nochmals ich werde es gleich testen, mit der richtige Variante von Cells. Kannst du mir auch erklären warum mein Code nicht funktioniert hat?
AW: Zellen mit #REF Error finden und löschen
13.12.2018 13:50:45
PurePowerPhil
Also mein Code sieht jetzt so aus:
Private Sub UpdateButton_Click()
Dim iRow As Long
Dim i As Long
With ThisWorkbook.Worksheets("MGMT-Overview")
iRow = .Cells(.Rows.Count, 12).End(xlUp).Row
'Color in the important Content
.Range("F4:H" & CStr(iRow)).Interior.Color = RGB(214, 220, 228)
'Search for any false Values in Sheet
For i = iRow To 4 Step -1
If IsError(.Cells(i, 2).Value) Then
If .Cells(i, 2).Value = CVErr(xlErrRef) Then
.Rows(i).Delete
End If
End If
Next i
End With
End Sub

Anzeige
AW: Zellen mit #REF Error finden und löschen
13.12.2018 13:56:05
Nepumuk
Prima, genau richtig!!!
AW: Zellen mit #REF Error finden und löschen
13.12.2018 13:54:59
Nepumuk
Hallo Phil,
1. Ja, Schleifen die Zeilen löschen sollten immer von unten nach oben laufen. Ist einfach logischer.
2. Wenn die Zelle keinen Fehlerwert enthält dann läuft dein Vergleich in einen Fehler. Daher auch die vorgeschaltete Abfrage ob die Zelle überhaupt einen Fehler enthält. Ein Fehlerwert in einer Zelle ist ein Objekt, ein "normale" Zellinhalte eine Zahl oder ein Text und der Vergleich eines/einer Textes/Zahl mit einem Objekt klappt nun mal nicht.
Gruß
Nepumuk

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige