Ausblenden von Zeilen - Laufzeitfehler 13
#1
Hallo an alle, 

ich wollte mir mal Arbeit abnehmen indem ich ein kleines Makro erstelle. Dieser soll Zeilen ausblenden, wenn gewisse Einträge in der Zeile gleich 0 sind. Nachdem das Makro über eine Schaltfläche aktiviert wird.

Folgenden Makro habe ich geschrieben: 
Code:
Sub NullZeilenausblenden()
'
' NullZeilenausblenden Makro
'

Dim zeile As Integer
zeile = 3

For zeile = 3 To 45

If Cells(zeile, 2).Value = "0" And Cells(zeile, 4).Value = "0" And Cells(zeile, 6).Value = "0" And Cells(zeile, 8).Value = "0" Then
        Rows(zeile).Hidden = True
            Else
    End If
Next zeile

End Sub
'

Leider wird mir immer ein Laufzeitfehler 13: Typen unverträglich angezeigt.

Habe ich einen Denkfehler? Es handelt sich dabei um eine Tabelle und wenn 4 Einträge einer null entsprechen soll diese Zeile ausgeblendet werden. 

Interessanterweise klappt es ohne die Frr schleife, wenn ich manuell die Zeile definiere. 

Liebe Grüße 
Erzin24
Antworten Top
#2
Hallo Erzin,


mehrere. Erstens darfst du die Nullen nicht in Anführungszeichen setzen, dann werden da Texte draus. Außerdem musst du die Schleife von unten nach oben laufen lassen. Also: For zeile = 45 To 3 Step -1
Der Variable zeile brauchst du keinen Wert zuweisen, das macht die Schleife für dich. 
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • Erzin24
Antworten Top
#3
Hallo Klaus, vielen Dank für deine Antwort. 

von unten ist es natürlich viel logischer, Danke. Leider behebt sich der Fehler durch diese Anpassungen nicht. Der Code sieht nun wie folgt aus: 
Code:
Sub NullZeilenausblenden()
'
' NullZeilenausblenden Makro
'

Dim zeile As Integer

For zeile = 45 To 3 Step -1

If Cells(zeile, 2).Value = 0 And Cells(zeile, 4).Value = 0 And Cells(zeile, 6).Value = 0 And Cells(zeile, 8).Value = 0 Then
        Rows(zeile).Hidden = True
            Else
    End If
Next zeile

End Sub
'
Habe ich einen weiteren Fehler Syntaxfehler? 

An Dim zeile As Integer liegt es anscheinend auch nicht. 

LG 
Erzin24
Antworten Top
#4
Hallo Erzin

habe das Makro bei mir getestet, da läuft es ohne Fehler durch. Möglicherweise liegt der Fehler in deiner Liste. Kann ich aber nicht beurteilen, weil ich die nicht kenne.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • Erzin24
Antworten Top
#5
Es lag an einem Div/0 Wert in der Tabelle, zumindest gehe ich davon aus, da es jetzt klappt. 

Vielen Dank!!!
Antworten Top
#6
Hallo Erzin,

ich habe den Code von Klaus-Dieter auch einmal durchlaufen lassen und er funktioniert natürlich. - Dann habe ich verschiedene Fehlermeldungen in den zu prüfenden Zellen eingebaut und genau Deinen Fehler ebenfalls erhalten bei #DIV/0!. Das heißt, Du solltest mal nachschauen, welche Fehler in den zu prüfenden Zellen vorhanden sind und diese entweder unterdrücken, wenn Du dort mit Formeln arbeitest oder Du kannst im Code den Fehler überspringen indem Du nach der For...Anweisung: On Error Resume Next  dem Code hinzufügst. Dies habe ich getestet und funktioniert.

Wenn`s dann immer noch Probleme gibt, hilft eine kleine Beispiel Tabelle einzustellen evtl. weiter.

Grüße

Norbert
[-] Folgende(r) 1 Nutzer sagt Danke an NobX für diesen Beitrag:
  • Erzin24
Antworten Top
#7
Hallo

mit diesem kleinen Code bekommt man angezeigt ob es Fehlerwerte in einer Tabelle gibt und wennn  ja in welcher Zelle/n.

mfg gast 1234

Code:
Sub Error_Test()
Dim Zahl As Integer
On Error Resume Next
Zahl = Cells.SpecialCells(xlFormulas, 16).Count
If Zahl = 0 Then MsgBox "Keine Fehlerwerte in n'Formeln!": Exit Sub
MsgBox Zahl & "   " & Cells.SpecialCells(xlFormulas, 16).Address(0, 0)
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Erzin24
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste