Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Per Excel-Formel Zeile oder Spalte ausblenden

Per Excel-Formel Zeile oder Spalte ausblenden
07.05.2008 13:46:05
Christian
Ich suche eine Möglichkeit mit der ich eine Spalte oder eine Reihe in abhängigkeit eines Zellenwertes ein oder ausblenden kann.
Im Internet und auch hier im Forum habe ich keine passende Lösunge gefunden, aber ich weiss auch nicht 100% wonach ich suchen soll..
Da ich weiss, dass man VBA-Makros (Funktionen) auch als Excel-Formel verwenden kann, habe ich folgenden Weg ausprobiert:
Makro Editor geöffnet und ein neues Modul eingefügt.
Dann folgendes Makro eingegben:


Function HideRow(r As Integer, HideIt As Boolean) As Boolean
'r = Zeile dessen Sichtbarkeit verändert werden soll
'HideIt = WAHR wenn die Zeile ausgeblendet werden soll, FALSCH wenn nicht
Rows(r & ":" & r).hidden = HideIt
HideRow = Rows(r & ":" & r).hidden
End Function



Dann habe ich in einem Tabellenblatt (Zelle D7) die Formel

=HideRow(3; WAHR)

geschrieben.
Als Ausgabe bekomme ich in der Zelle tatsächlich immer den Sichtbarkeitszustand der Reihe 3.
Nur die Reihe 3 verändert sich nicht.
Hat man auf bestimmte Zell/Blatt-Eigenschaften aus einer Excel-Formel herraus keinen Zugriff? Oder woran liegt es das sich die Reihe 3 nicht verändert?

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nein, das geht nicht per UDF ! _oT
07.05.2008 13:48:07
NoNet
_oT

AW: Nein, das geht nicht per UDF ! _oT
07.05.2008 13:51:00
Christian
Danke für die ausführliche Hilfestellung *lol*
Gibt es vielleicht einen weg, wie man die Sichtbarkeit der Reihe in der die Zelle mit der Formel steht, verändern kann?

Siehe Thread im Spotlight-Forum
07.05.2008 13:58:44
NoNet
Hallo Christian,
ich bin eigentlich nicht als Kurzantwort-Poster bekannt (ganz im Gegenteil, meist lasse ich mich sehr ausführlich aus ;-), aber im zusammenhang mit Deiner Frage gibt es nicht viel mehr Produktives zu schreiben.
Wenn Dich das Thema "Zellveränderung per UDF" interessiert, kannst Du Dir ja mal die Beiträge dieses Threads durchlesen :
http://www.spotlight.de/zforen/mse/m/mse-1209140016-887.html
Zu Deiner Frage : Das könnte evtl. mit einer EXCEL4-Makro-Funktion (muss in einem eigenen MAKRO-Blatt erstellt werden !) funktionieren. Aber Makro4-Spezialisten sind eher rar gestreut - ich gehöre leider auch nicht dazu ;-)
Viel Erfolg, Gruß NoNet

Anzeige
AW: Per Excel-Formel Zeile oder Spalte ausblenden
07.05.2008 13:57:00
Armin
Hallo Christian,
beschreibst Du uns bitte noch einmal was soll passieren wenn.
Bitte auch daran denken wenn Du etwas ausblendest wie soll es ggf. wieder herkommen.
Mit VBA geht "fasst" alles!
Gruß Armin

AW: Per Excel-Formel Zeile oder Spalte ausblenden
07.05.2008 14:15:44
Christian
Folgendes soll passieren:
Ich schreibe eine "(UDF)Formel" in eine Zelle hinein und je nach Wahrheit eines Parameters soll eine Reihe ausgeblendet werden.
In meinem Versuch ist die Reihe die ein/ausgeblendet werden soll als 1. Parameter frei wählbar.
Ab liebsten wäre es mir jedoch das genau die Zeile ausgeblendet wird in der sich die Formel befindet.
Ich stelle es mir so vor:

=SollReiheAusblenden(WAHR)

Blendet die Zeile aus. Das kann man jetzt natürlich noch verfeinern:

=SollReiheAusblenden(UND(A1="Ja";A2="Ja"))

Blendet die Zeile in der die Formel steht nur aus wenn in Zelle A1 "Ja" und in Zelle A2 "Ja" steht..
Ich glaube das klingt ein wenig nach einer bedingten Formatierung. Aber in einer Bedingten Formatierung kann man ja leider nicht definieren ob etwas ein oder ausgeblendet werden soll.

Anzeige
Beispiel von Nepumuk per API-Timer
07.05.2008 14:27:00
Nepumuk
Hallo christian,
in meinem oben verlinkten SL-Thread findest Du einen Beitrag von Herby5, der auf eine von Nepumuk erstellte Datei veweist.
In dieser Datei hat Nepumuk das über einen API-Timer gelöst.
Wenn Du in diesem Beispiel in "Sub Zwischenergebnis" am Ende folgende Zeile eingibst, siehst Du, wie das auch mit dem Ein-/Ausblenden einer Spalte funktioniert :
'Spalte D wird ein-/ausgeblendet, wenn Wert in A2 > 9 ist :
[D:D].EntireColumn.Hidden = Not [D:D].EntireColumn.Hidden
Gruß, NoNet

Anzeige
AW: Beispiel von Nepumuk per API-Timer
07.05.2008 14:39:00
Nepumuk
Ja hatte mir den Thread durchgelesen. Aber auf die API deswegen zuzugreifen scheint mir auf spatzen geschossen...
Daher werde ich mir was schickes per Worksheet_Change ereignis ausdenken...
Echt schade das man von excel aus keinen automatisierten zugriff auf die hidden-eigenschaft einer reihe oder spalte hat..
Vielen Dank auf jeden Fall!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilen und Spalten in Excel ausblenden: So geht's


Schritt-für-Schritt-Anleitung

Um eine Zeile oder Spalte in Excel basierend auf einem Zellwert auszublenden, kannst du VBA (Visual Basic for Applications) nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Gib folgendes Makro ein:

    Function HideRow(r As Integer, HideIt As Boolean) As Boolean
       ' r = Zeile dessen Sichtbarkeit verändert werden soll
       ' HideIt = WAHR wenn die Zeile ausgeblendet werden soll, FALSCH wenn nicht
       Rows(r & ":" & r).Hidden = HideIt
       HideRow = Rows(r & ":" & r).Hidden
    End Function
  4. Kehre zu deinem Excel-Arbeitsblatt zurück und schreibe in eine Zelle (z.B. D7) die Formel:

    =HideRow(3; WAHR)
  5. Diese Formel gibt den Sichtbarkeitszustand der Zeile 3 zurück, aber die Zeile selbst wird nicht ausgeblendet.

  6. Um die Zeile, in der sich die Formel befindet, auszublenden, kannst du ein weiteres Makro erstellen.


Häufige Fehler und Lösungen

  • Fehler: Die Zeile wird nicht ausgeblendet, obwohl die Funktion korrekt ist.

    • Lösung: Excel-Formeln können keine Änderungen an der Sichtbarkeit von Zeilen oder Spalten vornehmen. Du musst VBA verwenden, um dies zu erreichen.
  • Fehler: Die Funktion gibt immer FALSCH zurück.

    • Lösung: Stelle sicher, dass das Makro korrekt geschrieben und im richtigen Modul gespeichert ist. Überprüfe auch, ob die Zeilennummer gültig ist.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du die Sichtbarkeit von Zeilen oder Spalten manuell ändern:

  1. Wähle die Zeile oder Spalte aus, die du ausblenden möchtest.
  2. Rechtsklicke und wähle Ausblenden.
  3. Um sie wieder einzublenden, markiere die umgebenden Zeilen oder Spalten, rechtsklicke und wähle Einblenden.

Eine weitere Methode ist die Nutzung von bedingter Formatierung, die jedoch keine Zeilen oder Spalten ausblenden kann.


Praktische Beispiele

  1. Bedingte Sichtbarkeit:

    • Wenn du eine Zeile ausblenden möchtest, wenn der Wert in Zelle A1 "Nein" ist, kannst du ein VBA-Makro schreiben, das diese Logik implementiert.
  2. Spaltenausblendung:

    • Du kannst eine ähnliche Funktion für Spalten erstellen. Beispiel:
    Function HideColumn(c As Integer, HideIt As Boolean) As Boolean
       Columns(c & ":" & c).Hidden = HideIt
       HideColumn = Columns(c & ":" & c).Hidden
    End Function
  3. Ein- und Ausblenden mit Plus/Minuszeichen:

    • Du kannst Schaltflächen oder ein Plus-/Minuszeichen verwenden, um Zeilen oder Spalten dynamisch ein- oder auszublenden.

Tipps für Profis

  • API-Timer verwenden: Überlege, einen API-Timer zu nutzen, um Zeilen oder Spalten basierend auf bestimmten Bedingungen automatisch ein- oder auszublenden.

  • Worksheet_Change-Ereignis: Dies ermöglicht es, auf Änderungen in bestimmten Zellen zu reagieren und die Sichtbarkeit von Zeilen oder Spalten anzupassen.

  • Verwendung von Wenn-Dann-Formeln: Du kannst Excel-Funktionen in Kombination mit VBA verwenden, um komplexe Bedingungen zu erstellen, die das Ausblenden von Zeilen ermöglichen.


FAQ: Häufige Fragen

1. Wie kann ich Zeilen oder Spalten mit einer Excel-Formel ausblenden? Es ist nicht möglich, Zeilen oder Spalten direkt mit einer Excel-Formel auszublenden. Du musst VBA verwenden, um diese Funktion zu implementieren.

2. Kann ich eine Excel-Formel verwenden, um eine Zeile in der Formelzelle auszublenden? Ja, du kannst ein VBA-Makro schreiben, das die Sichtbarkeit der Zeile, in der sich die Formel befindet, steuert. Ein Beispiel findest du oben im Tutorial.

3. Was ist der Unterschied zwischen einem Makro und einer Formel in Excel? Ein Makro (VBA) kann Aktionen wie das Ausblenden von Zeilen oder Spalten durchführen, während eine Excel-Formel nur Berechnungen durchführen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige