Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1416to1420
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

Fehlersuche per VBA

Fehlersuche per VBA
24.03.2015 13:41:24
Sylvie

Hallo liebe Excel-Experten,
ihr könnt mir sicherlich helfen.
Es soll im ganzen Tabellenblatt (A bis L, ab Zeile 6 bis 400) folgendes überprüft werden :
Alle Zeilen mit gleichem Eintrag in Spalte B, müssen in den Spalten D-I und K-L gleich sein.
Ist das nicht der Fall, soll eine Meldung „Fehler in Zeile X“ ausgegeben werden.
Ich würde mich über eine Antwort freuen.
Sylvie

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

Betreff
Datum
Anwender
Anzeige
AW: Fehlersuche per VBA
24.03.2015 14:43:04
Daniel
Hi
probiere mal folgenden Code.
die Spalte M muss frei sein (ansonsten in der WITH-Zeile am Anfang eine andere Spalte verwenden)
Sub test()
Dim Zelle As Range
Dim Erg As String
With Range("M6:M" & Cells(Rows.Count, 2).End(xlUp).Row)
.FormulaR1C1 = "=IF(SUMPRODUCT(1*(RC4:RC9INDEX(C4:C9,MATCH(RC2,C2,0),)))" & _
"+SUMPRODUCT(1*(RC11:RC12INDEX(C11:C12,MATCH(RC2,C2,0),)))>0,ROW(),"""")"
If WorksheetFunction.Sum(.Cells) = 0 Then
MsgBox "alles i.O"
Else
For Each Zelle In .SpecialCells(xlCellTypeFormulas, 1)
Erg = Erg & ", " & Zelle.Row
Next
MsgBox "Fehler in Zeile: " & vbLf & Mid$(Erg, 3)
End If
.ClearContents
End With
End Sub
gruß Daniel

Anzeige
AW: Fehlersuche per VBA
24.03.2015 15:23:43
Sylvie
Hallo Daniel,
danke für die schnelle Antwort. Funktioniert leider nicht.
Laufzeitfehler 1004.
Abgesehen davon darf nichts in die Spalte M (oder eine andere Spalte) geschrieben werden.
Es handelt sich um eine komplexe Tabelle mit vielen Formeln.
Grüße
Sylvie

AW: Fehlersuche per VBA
25.03.2015 16:07:30
Sylvie
die Frage ist nicht beantwortet
Ich hatte vergessen, das Kontrollkästchen anzuklicken
Gruß
Sylvie

AW: Fehlersuche per VBA
25.03.2015 16:58:15
Daniel
Hi
hier nochmal der Code etwas angepasst, so dass er sich die erste freie Spalten am Tabellenende sucht und dort die Formeln reinschreibt.
am Ende des Makors werden diese Formeln wieder gelöscht, das bestehende Blatt wird somit nicht beeinflusst.
Sollte auf dem Blatt ein Blattschutz bestehen, musst du diesen am Anfang aufheben und am Schluss wieder aktivieren.
Dazu gibts die Befehle ActiveSheet.Unprotect und ActiveSheet.Protect.
Sub test()
Dim Zelle As Range
Dim Erg As String
Dim SP As Long
With ActiveSheet
SP = .Cells.SpecialCells(xlCellTypeLastCell).Column + 1
With .Range(.Cells(6, SP), .Cells(400, SP))
.FormulaR1C1 = _
"=IF(RC2="""","""",IF(SUMPRODUCT(1*(RC4:RC9INDEX(C4:C9,MATCH(RC2,C2,0),)))" & _
"+SUMPRODUCT(1*(RC11:RC12INDEX(C11:C12,MATCH(RC2,C2,0),)))>0,ROW(),""""))"
If WorksheetFunction.Sum(.Cells) = 0 Then
MsgBox "alles i.O"
Else
For Each Zelle In .SpecialCells(xlCellTypeFormulas, 1)
Erg = Erg & ", " & Zelle.Row
Next
MsgBox "Fehler in Zeile: " & vbLf & Mid$(Erg, 3)
End If
.ClearContents
End With
End With
End Sub

Gruß Daniel

Anzeige
AW: Fehlersuche per VBA
25.03.2015 17:21:28
Sylvie
Hallo,
das Makro funktioniert ! Vielen Dank.
Problem ist nur, dass es nicht ständig kontrolliert. Es funktioniert nur, wenn man das Makro startet, und es ist auch zufrieden, wenn man den Fehler nicht behebt.
Die MsgBox "alles i.O" wird nicht benötigt, habe ich schon rausgelöscht.
Ich weiß nicht, welche Möglichkeiten man da in VBA hat.
Gruß
Sylvie

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige