Supportnet / Forum / Tabellenkalkulation
Spalten schnell und einfach ausblenden
Frage
Hallo Excelfreunde,
gerne würde ich noch einmal geholfen bekommen.
Ausgangslage: Ich kenne keine Möglichkeit, um nicht zusammenhängende Spalten (wie bei einem Zeilenfilter) schnell und einfach auszublenden.
Mein Problem: Die Daten eines Diagramms sind in den Spalten D:EZ des Blattes ´DiaTransfer´ angeordnet. Wahlweise sollen jeweils die Spalten mit einer in den Zellen D3:EZ3 angebrachten Spaltenkennung m, i1, i2, i3 oder ´blank´ im Diagramm sichtbar bleiben. Im Augenblick mache ich dies mit manuell instruierten ´benutzerdefinierten Ansichten´ in Excel 2003.
Aber meine Wünsche zu den Spaltenkennungen wechseln so häufig, dass mir das immer wieder vollständige manuelle Verdichten der Spalten für den Ansichtenmanager zu lästig wird. Außer der Bedienung des Makrorekorders habe ich leider keine VBA-Kenntnisse.
Randwünsche zur Lösung: Sie sollte aus einem anderen Blatt (Diagramm) aufrufbar sein.
Beispiel für Inhalt der Zellen D3:EZ3
blank blank m blank i2 m m i3 blank i1 i3 blank i2 i2 usw.
Ich würde mich über Euer Interesse freuen.
Gruß Klaus
P.S. der Beitrag von duderama unter dem 22.12. bringt für mich keine Lösung, weil die Spalten nicht direkt nebeneinander stehen.
Antwort 1 von coros
Moin Klaus,
liegt eventuell an daran, dass es noch so früh am morgen ist, aber irgendwie verstehe ich Deine Frage nicht so ganz. Was meinst Du unter anderem mit
oder auch mit
Wenn es sich um nebeneinanderliegende Spalten handelt würde das für Spalte B bis E aussehen:
Bei Spalten, die nicht zusammen legen müsste der erste Befehl mehrmals aufgeführt werden und immer der Spaltenbuchstaben angepasst werden. Als Beispiel für Spalte B, E, G und I:
Columns("B").EntireColumn.Hidden = xlVeryHidden
Columns("E").EntireColumn.Hidden = xlVeryHidden
Columns("G").EntireColumn.Hidden = xlVeryHidden
Columns("I").EntireColumn.Hidden = xlVeryHidden
Die aufgeführten Befehle können wahlweise über ein Ereignis, eine Schaltfläche usw. aufgerufen werden.
Sollte Dich meine Antwort nicht weitergebracht haben, dann melde Dich noch mal und beschreib mal etwasgenauer, was Du erreichen möchtest.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
liegt eventuell an daran, dass es noch so früh am morgen ist, aber irgendwie verstehe ich Deine Frage nicht so ganz. Was meinst Du unter anderem mit
Zitat:
Spaltenkennung m, i1, i2, i3 oder ´blank
Spaltenkennung m, i1, i2, i3 oder ´blank
oder auch mit
Zitat:
Beispiel für Inhalt der Zellen D3:EZ3
blank blank m blank i2 m m i3 blank i1 i3 blank i2 i2 usw.
Wenn es Dir um das reine Ausblenden von Spalten geht, dann würde der VBA Befehl für z.B. Spalte B folgendermaßen lauten:Beispiel für Inhalt der Zellen D3:EZ3
blank blank m blank i2 m m i3 blank i1 i3 blank i2 i2 usw.
Columns("B").EntireColumn.Hidden = xlVeryHiddenWenn es sich um nebeneinanderliegende Spalten handelt würde das für Spalte B bis E aussehen:
Columns("B:E").EntireColumn.Hidden = xlVeryHiddenBei Spalten, die nicht zusammen legen müsste der erste Befehl mehrmals aufgeführt werden und immer der Spaltenbuchstaben angepasst werden. Als Beispiel für Spalte B, E, G und I:
Columns("B").EntireColumn.Hidden = xlVeryHidden
Columns("E").EntireColumn.Hidden = xlVeryHidden
Columns("G").EntireColumn.Hidden = xlVeryHidden
Columns("I").EntireColumn.Hidden = xlVeryHidden
Die aufgeführten Befehle können wahlweise über ein Ereignis, eine Schaltfläche usw. aufgerufen werden.
Sollte Dich meine Antwort nicht weitergebracht haben, dann melde Dich noch mal und beschreib mal etwasgenauer, was Du erreichen möchtest.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Klariko
Hallo Oliver,
vielen Dank, dass Du Dich gemeldet hast.
Deine Antwort kann ich klar verstehen, aber es hilft mir nicht, weil
- die von mir in den Zellen D3:EZ3 angebrachten Spaltenkennungen m, i1, i2, i3 oder ´blank´ genutzt werden sollen, um von deren Inhalt das Ausblenden abhängig zu machen,
- in einem Job z.B. alle i2 überschriebenen Spalten (neben A:C) sichtbar bleiben sollen,
- das Beispiel gibt eine mögliche Abfolge der Kennungen wider und soll zeigen, dass keine Regelmäßigkeit in benachbarten Spalten bzw. deren Kennungsüberschrift besteht,
- es also leider keine feste Programmiermöglichkeit gibt.
Es würde mich sehr freuen, wenn Du dafür auch eine Lösung hättest.
Gruß Klaus
vielen Dank, dass Du Dich gemeldet hast.
Deine Antwort kann ich klar verstehen, aber es hilft mir nicht, weil
- die von mir in den Zellen D3:EZ3 angebrachten Spaltenkennungen m, i1, i2, i3 oder ´blank´ genutzt werden sollen, um von deren Inhalt das Ausblenden abhängig zu machen,
- in einem Job z.B. alle i2 überschriebenen Spalten (neben A:C) sichtbar bleiben sollen,
- das Beispiel gibt eine mögliche Abfolge der Kennungen wider und soll zeigen, dass keine Regelmäßigkeit in benachbarten Spalten bzw. deren Kennungsüberschrift besteht,
- es also leider keine feste Programmiermöglichkeit gibt.
Es würde mich sehr freuen, wenn Du dafür auch eine Lösung hättest.
Gruß Klaus
Antwort 3 von coros
Moin Klaus,
gehe ich recht in der Annahme, dass Du mit einer Pivottabelle arbeitest und dort die Spaltenkennung meinst? Wenn ja, müsste man sich Deine Datei ansehen und wissen, was für ein Kriterium gelten soll um Spalten auszublenden. Du schreibst zwar, dass es keine Regelmäßigkeit gibt, aber irgend wer/ etwas muss ja vorgeben, was ein-, bzw. ausgeblendet werden soll. Denn im Mment kann ich mir Deine Datei nicht so recht vorstellen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
gehe ich recht in der Annahme, dass Du mit einer Pivottabelle arbeitest und dort die Spaltenkennung meinst? Wenn ja, müsste man sich Deine Datei ansehen und wissen, was für ein Kriterium gelten soll um Spalten auszublenden. Du schreibst zwar, dass es keine Regelmäßigkeit gibt, aber irgend wer/ etwas muss ja vorgeben, was ein-, bzw. ausgeblendet werden soll. Denn im Mment kann ich mir Deine Datei nicht so recht vorstellen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von Klariko
Hallo Oliver,
tut mir leid, dass ich es nicht besser beschreiben kann.
Es ist nicht das Ergebnis einer Pivotauswertung, sondern eine ganz normal editierte Tabelle.
"Spaltenkennung" nenne ich das, was ich in den erwähnten Zellen manuell von Hand anbringe (und auch weiter manuell anbringen will).
Ich hätte nur die Idee, dass man 4 ähnliche Makros braucht, die den Inhalt der Zellen D3:EZ3 auswerten und entweder die Spalte ausblenden oder nicht.
4 ähnliche Makros eben für den möglichen Inhalt m, i1, i2, i3 oder ´blank.
Gruß, Klaus
tut mir leid, dass ich es nicht besser beschreiben kann.
Es ist nicht das Ergebnis einer Pivotauswertung, sondern eine ganz normal editierte Tabelle.
"Spaltenkennung" nenne ich das, was ich in den erwähnten Zellen manuell von Hand anbringe (und auch weiter manuell anbringen will).
Ich hätte nur die Idee, dass man 4 ähnliche Makros braucht, die den Inhalt der Zellen D3:EZ3 auswerten und entweder die Spalte ausblenden oder nicht.
4 ähnliche Makros eben für den möglichen Inhalt m, i1, i2, i3 oder ´blank.
Gruß, Klaus
Antwort 5 von coros
HalloKlaus,
sorry, aber ich gebe auf. Ich weiß beim besten Willen nicht, was die Bezeichnung m, i1, i2, i3 oder blank bedeuten sollen und was ich damit anfangen soll. Sorry, aber ich werde Dir leider nicht helfen können, da ich wie schon geschrieben, nicht weiß, was Du wie erreichen möchtest. Ich gehe mal davon aus, dass auch die anderen Helenden das hier nicht verstehen, da sonst sicherlich jemand geholfen hätte. Aber ich lasse mich auch gerne eines besseren belehren. Auf jeden Fall hoffe ich, dass hier noch jemand vorbei schaut, der eine Lösung für Dich hat.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
sorry, aber ich gebe auf. Ich weiß beim besten Willen nicht, was die Bezeichnung m, i1, i2, i3 oder blank bedeuten sollen und was ich damit anfangen soll. Sorry, aber ich werde Dir leider nicht helfen können, da ich wie schon geschrieben, nicht weiß, was Du wie erreichen möchtest. Ich gehe mal davon aus, dass auch die anderen Helenden das hier nicht verstehen, da sonst sicherlich jemand geholfen hätte. Aber ich lasse mich auch gerne eines besseren belehren. Auf jeden Fall hoffe ich, dass hier noch jemand vorbei schaut, der eine Lösung für Dich hat.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 6 von Klariko
Hallo Oliver,
schade, dass ich mich Dir nicht begreifbar machen konnte.
Vielleicht mailst Du mir Deine Telefon# zu, damit ich interaktiv die Fragestellung erläutern kann ?
Gruß, Klaus
schade, dass ich mich Dir nicht begreifbar machen konnte.
Vielleicht mailst Du mir Deine Telefon# zu, damit ich interaktiv die Fragestellung erläutern kann ?
Gruß, Klaus
Antwort 7 von Klariko
Liebe Excelfreunde,
ich möchte mein Problem in diesem Job abschließen und es gerne neu posten.
Vielen Dank für Eure Aufmerksamkeit.
Klaus
ich möchte mein Problem in diesem Job abschließen und es gerne neu posten.
Vielen Dank für Eure Aufmerksamkeit.
Klaus
Antwort 8 von coros
Hallo Klaus,
ich glaube kaum, dass Dir das weiterhelfen wird, wenn Du Deine Frage noch mal in einem neuen Thread stellst. Denn ich glaube mal, dass ich nicht der einzige bin, der as nicht versteht. Denn ansonsten hättest Du sicherlich reichlich Antworten bekommen. Außerdem ist das auch nicht im Sinne des Erfinders, für die gleiche Frage mehrere Beiträge zu eröffnen.
Ich habe erst heute morgen Deine Antwort gelesen. Allerdings weiß ich nicht, wohin ich etwas mailen soll, wenn Du die Mailadresse nicht mitteilst. Es wäre aber sinnvoller, wenn Du mir Deine Datei mal zu mailen würdest, dann kann ich eventuell etwas mehr mit Deinen Ausführungen, die Du hier gemacht hast, anfangen. Meine E-Mailadresse findest Du auf meiner HP unter anderem im Impressum. Wenn Du mir die Datei schickst, binde bitte in der Betreffzeile das Wort Supportnet und Den Nicknamen, unter dem Du hier gepostet hast, mit ein, da ich alle Mails, deren Absender ich nicht kenne, ungelesen lösche.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich glaube kaum, dass Dir das weiterhelfen wird, wenn Du Deine Frage noch mal in einem neuen Thread stellst. Denn ich glaube mal, dass ich nicht der einzige bin, der as nicht versteht. Denn ansonsten hättest Du sicherlich reichlich Antworten bekommen. Außerdem ist das auch nicht im Sinne des Erfinders, für die gleiche Frage mehrere Beiträge zu eröffnen.
Ich habe erst heute morgen Deine Antwort gelesen. Allerdings weiß ich nicht, wohin ich etwas mailen soll, wenn Du die Mailadresse nicht mitteilst. Es wäre aber sinnvoller, wenn Du mir Deine Datei mal zu mailen würdest, dann kann ich eventuell etwas mehr mit Deinen Ausführungen, die Du hier gemacht hast, anfangen. Meine E-Mailadresse findest Du auf meiner HP unter anderem im Impressum. Wenn Du mir die Datei schickst, binde bitte in der Betreffzeile das Wort Supportnet und Den Nicknamen, unter dem Du hier gepostet hast, mit ein, da ich alle Mails, deren Absender ich nicht kenne, ungelesen lösche.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 9 von Risatara2
Hi,
OK, ich glaube, dass ich dein Problem verstehe. Du willst bestimmte Spalten ausblenden, abhängig davon was in einem bestimmten Bereich in dieser Spalte steht, richtig? Da wäre wohl ein VBA-Makro nötig. Ich schau mal, was ich machen kann.
Risatara
OK, ich glaube, dass ich dein Problem verstehe. Du willst bestimmte Spalten ausblenden, abhängig davon was in einem bestimmten Bereich in dieser Spalte steht, richtig? Da wäre wohl ein VBA-Makro nötig. Ich schau mal, was ich machen kann.
Risatara
Antwort 10 von Klariko
Hallo Risatara2,
vielen Dank für Dein Hilfsangebot.
Du fasst mein Problem völlig korrekt zusammen. Etwas ausführlicher würde es lauten: Ich möchte alle Spalten im Bereich D:EZ ausblenden, wenn die einzelne Spalte nicht 1 bestimmten von 4 möglichen Einträgen in der Zeile 3 hat.
Gruß, Klaus
vielen Dank für Dein Hilfsangebot.
Du fasst mein Problem völlig korrekt zusammen. Etwas ausführlicher würde es lauten: Ich möchte alle Spalten im Bereich D:EZ ausblenden, wenn die einzelne Spalte nicht 1 bestimmten von 4 möglichen Einträgen in der Zeile 3 hat.
Gruß, Klaus
Antwort 11 von coros
Moin Klaus,
jetzt habe ich es auch verstanden. Wenn Du schon viel früher den Satz
geschrieben hättest. Kopiere nachfolgende Makros in ein StandardModul und starte sie jeweils über eine Befehlsschaltfläche.
Mit dem Makro "Spalten_ausblenden" wird mittels einer Schleife die Zelle in Zeile 3 jeder einzelnen Spalte von D:DZ auf Ihren Wert hin überprüft. Steht dort nicht eines der Bezeichnungen "i1, i2, i3 oder blank", wird die Spalte ausgeblendet.
Mit dem Makro "Spalten_einblenden" werden alle ausgeblendeten Spalten wieder eingeblendet.
Ich hoffe, Du hast das so gemeint. Wenn nicht oder bei Fragen, bzw. Problemen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
jetzt habe ich es auch verstanden. Wenn Du schon viel früher den Satz
Zitat:
Ich möchte alle Spalten im Bereich D:EZ ausblenden, wenn die einzelne Spalte nicht 1 bestimmten von 4 möglichen Einträgen in der Zeile 3 hat.
Ich möchte alle Spalten im Bereich D:EZ ausblenden, wenn die einzelne Spalte nicht 1 bestimmten von 4 möglichen Einträgen in der Zeile 3 hat.
geschrieben hättest. Kopiere nachfolgende Makros in ein StandardModul und starte sie jeweils über eine Befehlsschaltfläche.
Option Explicit
Sub Spalten_ausblenden()
Dim Wiederholungen As Integer
Application.ScreenUpdating = False
For Wiederholungen = 4 To 130
If Cells(3, Wiederholungen) = "i1" _
Or Cells(3, Wiederholungen) = "i2" _
Or Cells(3, Wiederholungen) = "i3" _
Or Cells(3, Wiederholungen) = "blank" Then
Else
Columns(Wiederholungen).EntireColumn.Hidden = True
End If
Next
End Sub
Sub Spalten_einblenden()
Columns("D:DZ").EntireColumn.Hidden = False
End Sub
Mit dem Makro "Spalten_ausblenden" wird mittels einer Schleife die Zelle in Zeile 3 jeder einzelnen Spalte von D:DZ auf Ihren Wert hin überprüft. Steht dort nicht eines der Bezeichnungen "i1, i2, i3 oder blank", wird die Spalte ausgeblendet.
Mit dem Makro "Spalten_einblenden" werden alle ausgeblendeten Spalten wieder eingeblendet.
Ich hoffe, Du hast das so gemeint. Wenn nicht oder bei Fragen, bzw. Problemen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 12 von Risatara2
Gut, dann müsste sich das ja erledigt haben. Sorry, hatte hier gestern viel arbeit..
Antwort 13 von Klariko
Hallo Oliver,
Dein Makro funktioniert hervorragend und ist dabei auch noch für mich als Laien anpassungsfähig an ggf. etwas geänderte Randbedingungen.
Ganz herzlichen Dank Dir und einen guten Rutsch nach 2006
wünscht Klaus
Dein Makro funktioniert hervorragend und ist dabei auch noch für mich als Laien anpassungsfähig an ggf. etwas geänderte Randbedingungen.
Ganz herzlichen Dank Dir und einen guten Rutsch nach 2006
wünscht Klaus
Antwort 14 von Tomschi
Hallo Oliver!
Wollte mich nur für Deinen Code bedanken!
Ein paar kleine Änderungen und schon passte er für mein Problem.
Thanx
Tom
Wollte mich nur für Deinen Code bedanken!
Ein paar kleine Änderungen und schon passte er für mein Problem.
Thanx
Tom

