Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA - Zeilen ausblenden
#1
Hallo zusammen,

ich möchte mit einem Button das Ausblenden von Zeilen auslösen. 

Code:
Sub SchülerKNAusblenden()

ActiveSheet.Unprotect
  Dim i As Long

    For i = 22 To 130 Step 4
      Cells(i, 2).MergeArea.Rows.Hidden = Cells(i, 1).Value = 0
    Next i
   
ActiveSheet.Protect

End Sub



Es funktionierte die ganze Zeit, jetzt liefert es mir aber den Laufzeitfehler 1004.
Ich bin dabei zu überlegen, ob ich die Zellverbünde (es sind immer 4 Zellen verbunden) in Spalte A und B wieder auflöse. Aber wie kann ich dann die Zeilen ausblenden.

LG Tina
Antworten Top
#2
Hi

Versuche es damit. Sonst eine Bsp.Datei.
Code:
Sub SchülerKNAusblenden()

ActiveSheet.Unprotect
  Dim i As Long

    For i = 22 To 130 Step 4
      Cells(i, 2).Resize(4).EntireRow.Hidden = Cells(i, 1).Value = 0
    Next i
  
ActiveSheet.Protect

End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • so.egal
Antworten Top
#3
auch hier die selbe Meldung

Laufzeitfehler ´1004´
"Die Hidden-Eigenschaft des Range-Objektes kann nicht festgelegt werden."

Jetzt wollte ich gerade eine Beispieldatei erstellen, indem ich einfach die Fülle an Tabs lösche, die uninteressant für das Problem sind, dann hat es plötzlich funktioniert. An was kann das denn nun liegen, vielleicht an irgend einem "Calculate"-Code?

LG Tina
Antworten Top
#4
Hallöchen,

Zitat:Es funktionierte die ganze Zeit, jetzt liefert es mir aber den Laufzeitfehler 1004.

Code:
indem ich einfach die Fülle an Tabs lösche, die uninteressant für das Problem sind, dann hat es plötzlich funktioniert.

Das sind äußerst aufschlussreiche Angaben für eine Problemanalyse ... Huh
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo,

hier die Beispieldatei. Wenn ich einen der Tabs "Text" oder "KN 1-Text w" lösche, funktioniert das Makro wieder.
Ich gehe davon aus, dass es mit irgendwelchen Verknüpfungen zwischen den Tabs zusammenhängt. 

LG Tina


Angehängte Dateien
.xlsm   Kompetenznachweis Tabelle 4.0 - 2022-02-25 - blanko Test.xlsm (Größe: 1,68 MB / Downloads: 3)
Antworten Top
#6
Hallöchen,

gehe den Code schrittweise durch und Du erkennst die Ursache ... Wenn nicht, frag nochmal.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • so.egal
Antworten Top
#7
Ich weiß nicht genau wo ich suchen soll. Können es Verknüpfungen innerhalb der Tabellen sein? Welche Art der Verknüpfung kann dabei zu Problemen führen? Muss ich mir nur die VBA-Codes der Tabs anschauen?  Huh
Antworten Top
#8
Hallöchen,

nein, sind es nicht.

Du bist also den Code nicht schrittweise durchgegangen. Dein Code löst ein Ereignis aus, in welchem der Blattschutz wieder gesetzt wird. Daraufhin klappt es mit dem Ausblenden nicht, weil das Blatt gerade wieder geschützt wurde. EnableEvents kennst Du?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • so.egal
Antworten Top
#9
Hi,

wie gehe ich den Code schrittweise durch? Ich habe mir den Code angeschaut und der Blattschutz wird ja zu Beginn des Codes herausgenommen. 

EnableEvents kenne ich nicht. Ich habe mir die Tabelle Schritt für Schritt zusammengebastelt und lerne nur sehr selektiv dazu. 20


LG Tina
Antworten Top
#10
Hallöchen,

ich dachte, bei den vielen Codes solltest Du Dich mit VBA etwas auskennen...
Gehe mal mit dem Cursor in das Makro und drücke F8. Damit geht es los und mit dem nächsten F8 kommt man in die nächste Codezeile usw.
Irgendwann wird dann bei Dir in ein anderes Makro gesprungen.

Um so was zu verhindern, kann man z.B. am Anfang eines Makros oder vor der betreffenden Aktion

Application.EnableEvents = False

programmieren und am Ende bzw. danach muss man es wieder auf True setzen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • so.egal
Antworten Top


Gehe zu:


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