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.

Zeilen ausblenden Makro
#1
Hallo zusammen. 
Ich hoffe, hier finden sich ein paar Profis, die mir helfen können. Wenn es überhaupt ne Möglichkeit gibt 

Zu meinem Problem. 

Ich habe 10 Zeilen und 15 Spalten. In jeder dieser Zelle befindet sich ein ActiveX Kontrollkästchen. 
Wenn eines aktiviert wird, werden in einer anderen Tabelle bestimmte Zeilen eingeblendet, die vorher ausgeblendet waren. 
Das sieht im Beispiel erst mal so aus (1. Häkchen):
Code:
Private Sub CheckBox1_Click()
If Me.CheckBox1 = True Then
Worksheets("Tabelle2").Rows("25:59").Hidden = False
Range("r22").Value = "P" 'hier wird einfach nur noch mal ein Häkchen mit Wingdings2 gesetzt
Else
Worksheets("Tabelle2").Rows("25:59").Hidden = True
Range("r22").Value = ""
End If
End Sub

2. Häkchen dann so.
Code:
Private Sub CheckBox2_Click()
If Me.CheckBox2 = True Then
Worksheets("Tabelle2").Rows("60:94").Hidden = False
Range("r27").Value = "P"
Else
Worksheets("Tabelle2").Rows("60:94").Hidden = True
Range("r27").Value = ""
End If
End Sub
Und so geht es weiter bis zum 10. Häkchen der ersten Spalte. 
Dann kommen aber noch 14 weitere Spalten(jede Spalte eine andere Tabelle) hinzu. Was zu über 2000 Zeilen Code führen würde. 
Und genau da stößt meine Fähigkeit und mein Fleiß an seine Grenzen. 

Wie schaffe ich es, mir die Arbeit zu ersparen. Eine Schleife?  Huh
Antworten Top
#2
Hallo Naleor,
meinst Du so?
Private Sub CheckBox1_Click()
  Blenden 1, "25:29", "R22"
End Sub
Private Sub CheckBox2_Click()
  Blenden 2, "60:94", "R27"
End Sub
Function Blenden(n, Bereich, Zelle)
  If Me.Controls("CheckBox" & n) Then
    Worksheets("Tabelle2").Rows(Bereich).Hidden = False
    Range(Zelle).Value = "P" 'hier wird einfach nur noch mal ein Häkchen mit Wingdings2 gesetzt
  Else
    Worksheets("Tabelle2").Rows(Bereich).Hidden = True
    Range(Zelle).Value = ""
  End If
End Function


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 14 - mit VBAHTML 12.6.0

Weniger ARbeit wird m.E. nicht gehen...
Gruß der AlteDresdner
Gruß der AlteDresdner (Win11, Off2021)
Antworten Top
#3
Danke für die Antwort. 
Ich hatte leider schon vermutet, dass ich nicht um die ganze Tipperei herumkommen werde. 


Gruß
Antworten Top


Gehe zu:


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