Registriert seit: 27.01.2021
Version(en): 365 Mac/ Microsoft
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
Registriert seit: 11.04.2014
Version(en): Office 365
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
Registriert seit: 27.01.2021
Version(en): 365 Mac/ Microsoft
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
Registriert seit: 11.04.2014
Version(en): Office 365
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
Registriert seit: 27.01.2021
Version(en): 365 Mac/ Microsoft
Es lag an einem Div/0 Wert in der Tabelle, zumindest gehe ich davon aus, da es jetzt klappt.
Vielen Dank!!!
Registriert seit: 03.04.2020
Version(en): Office 365 und 2010
17.01.2022, 17:46
(Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2022, 17:47 von NobX.)
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:1 Nutzer sagt Danke an NobX für diesen Beitrag 28
• Erzin24
Registriert seit: 12.03.2016
Version(en): Excel 2003
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:1 Nutzer sagt Danke an Gast 123 für diesen Beitrag 28
• Erzin24