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 Spalten mit Buttons aus- und einblenden
#1
    Hallo zusammen,

es ist mit als Laie gelungen mittels eines VBAs folgendes zu erreichen
Ich habe 2 Buttons, der erste P1 und der zweite P2.
Wenn ich auf P1 klicke dann werden die Spalten mit P2 ausgeblendet
Wenn ich auf P2 klicke dann werden die Spalten mit P1 ausgeblendet.
Soweit so gut. Das Problem ist, wenn ich auf P1 klicken, und dann auf P2, dann sind alle Spalten logischerweise ausgeblendet. Man muss daran denken, vorher wieder auf P1 zu klicken, um die Spalten mit P2 wieder einzublenden. Das weiß ich, aber die anderen Benutzer tun sich schwer damit.
Ich sehe dafür 2 mögliche Lösungen.
1. Es muss ein dritter Button her, um alle einzublendet
2. Die Button müsste so programmiert werden, dass der Text auf dem Button sich ändert. Z.B. auf dem Button für P1 steht P1 ausblenden. Klicke ich darauf, dann erscheint auf dem Button P1 einblenden. Dasselbe für P2. Es wäre die Lösung, die ich bevorzuge.

Mein VBA ist folgender (die Spaltenbuchstaben stimmen. Es sind ausgeblendete Spalten dazwischen, die immer ausgeblendet bleiben müssen):
Private Sub P1_Click()
Columns("E").EntireColumn.Hidden = Not Columns("E").EntireColumn.Hidden
Columns("K").EntireColumn.Hidden = Not Columns("K").EntireColumn.Hidden
Columns("N").EntireColumn.Hidden = Not Columns("N").EntireColumn.Hidden
Columns("T").EntireColumn.Hidden = Not Columns("T").EntireColumn.Hidden
Columns("W").EntireColumn.Hidden = Not Columns("W").EntireColumn.Hidden
Columns("AC").EntireColumn.Hidden = Not Columns("AC").EntireColumn.Hidden
End Sub

Private Sub P2_Click()
Columns("D").EntireColumn.Hidden = Not Columns("D").EntireColumn.Hidden
Columns("J").EntireColumn.Hidden = Not Columns("J").EntireColumn.Hidden
Columns("M").EntireColumn.Hidden = Not Columns("M").EntireColumn.Hidden
Columns("S").EntireColumn.Hidden = Not Columns("S").EntireColumn.Hidden
Columns("V").EntireColumn.Hidden = Not Columns("V").EntireColumn.Hidden
Columns("AB").EntireColumn.Hidden = Not Columns("AB").EntireColumn.Hidden

End Sub


Kann mir jemand sagen, wie ich mein Problem regeln kann?

Vielen Dank im Voraus

Ivy
Antworten Top
#2
Hier die Lösung:

Gruß
Marcus


Angehängte Dateien
.xlsm   Forum.xlsm (Größe: 24,86 KB / Downloads: 17)

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Antworten Top
#3
Hallo Marcus,

zuerst danke für die Antwort.
Wenn ich die Tabelle herunterlade, ist sie leider leer.
Was mache ich falsch?

Gruß

Ivy
Antworten Top
#4
Hallo Ivy,
Private Sub P1_Click()
Range("E:E,K:K,N:N,T:T,W:W,AC:AC").EntireColumn.Hidden = Not Columns("E").Hidden
Me.P1.Caption = Choose(Columns("E").Hidden + 2, "P1 einblenden", "P1 ausblenden")
End Sub

Private Sub P2_Click()
Range("D:D,J:J,M:M,S:S,V:V,AB:AB").EntireColumn.Hidden = Not Columns("D").Hidden
Me.P2.Caption = Choose(Columns("D").Hidden + 2, "P2 einblenden", "P2 ausblenden")
End Sub
Gruß Uwe
Antworten Top
#5
Vielen Dank Uwe, genau das habe ich gebraucht.

LG

Ivy
Antworten Top


Gehe zu:


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