Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1044to1048
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spalte ausblenden, wenn leer

Spalte ausblenden, wenn leer
05.02.2009 23:44:01
Peter
Guten Abend
Ich habe eine Tabelle mit verschiedenen benannten Bereichen innerhalb von jeweils einer Spalte, also beispielsweise
"AAA" bezieht sich auf Tabelle1!A5:A205
"BBB" bezieht sich auf Tabelle1!B5:B205
"CCC" bezieht sich auf Tabelle1!C5:C205
Nun möchte ich abfragen, ob "AAA" oder "BBB" keinen Eintrag haben und wenn dies zutrifft, sollen die entsprechenden Spalten, also hier A, B und C ausgeblendet werden.
Ich möchte mit den Bereichsbezeichnungen AAA, BBB und CCC arbeiten, da diesen nicht immer die gleichen Bereiche zugeordnet sind.
Wie packe ich diese Aufgabenstellung am besten in einen Code?
Danke für eine Antwort.
Gruss, Peter

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalte ausblenden, wenn leer
06.02.2009 00:01:02
Uwe
Hi Peter,
so!?:

If WorksheetFunction.CountA(Range("AAA")) = 0 Then _
Range("AAA").EntireColumn.Hidden = True


Gruß
Uwe
(:o)

AW: Spalte ausblenden, wenn leer
06.02.2009 21:14:57
Peter
Hallo Uwe
Danke für die Antwort.
Ich sehe, dass ich die Fragestellung nicht präzise durchdacht habe.
In den Zellen können sehr wohl Einträge in Form von Formeln vorhanden sein. Wenn die Formel jedoch NULL ergibt, muss die Spalte auch ausgeblendet werden.
Ich darf jedoch nicht die Summe der Zellen berechnen, weil dann in einer Zelle -1 und in einer Zelle +1 stehen könnte - in diesem Fall soll nicht ausgeblendet werden. Also ich irgendwie die Summe der absoluten Werte ermitteln.
Gruss, Peter
Anzeige
vielleicht geht es so.
07.02.2009 09:27:20
Tino
Hallo,
könnte es so richtig sein?

If [COUNTIF(AAA:AAA,0)+COUNTBLANK(AAA:AAA)] = Rows.Count Then
Range("AAA1").EntireColumn.Hidden = True
Else
Range("AAA1").EntireColumn.Hidden = False
End If


Gruß Tino

AW: vielleicht geht es so.
07.02.2009 16:04:16
Uwe
Hi Tino,
GUTE Idee, aber ich hätte 'ne kleine Korrektur:

If [COUNTIF(AAA:AAA,0)+COUNTBLANK(AAA:AAA)] = Range("AAA").Rows.Count Then
Range("AAA").EntireColumn.Hidden = True
Else
Range("AAA").EntireColumn.Hidden = False
End If


OK?
Gruß
Uwe
(:o)

Anzeige
AW: vielleicht geht es so.
07.02.2009 16:38:00
Tino
Hallo,
Rows.Count bleibt doch immer gleich, oder sehe ich dass falsch?
Man könnte auch einen Einzeiler draus machen.

Range("AAA1").EntireColumn.Hidden = [COUNTIF(AAA:AAA,0)+COUNTBLANK(AAA:AAA)] = Rows.Count


Gruß Tino

AW: vielleicht geht es so.
07.02.2009 17:52:00
Uwe
Hi Tino,
also bei mir ergibt:

Sub test()
Debug.Print Rows.Count
Debug.Print Range("AAA").Rows.Count
End Sub


im Direktfenster:
65536
21
...weil ersteres doch alle Zeilen im Blatt zählt und das zweite nur die im Bereich AAA.
Ist das bei Dir anders?
Gruß
Uwe
(:o)

Anzeige
AW: vielleicht geht es so.
07.02.2009 18:13:08
Tino
Hallo,
ich dachte die Frage war,
wenn alle Zellen in AAA Leer oder den Wert 0 haben, soll diese ausgeblendet werden.
Also müsste doch Anzahl aller 0 Werte + Anzahl aller Leerzellen die Anzahl der Zeilen ergeben.
Ist in AAA1 noch eine Überschrift, müsste man diese bei Rows.Count mit -1 noch abziehen.
Oder habe ich die Frage falsch verstanden, dann ziehe ich alles zurück.
Gruß Tino
ziehe alles zurück...
07.02.2009 18:25:00
Tino
Hallo,
AAA = ein benannter Bereichen.
Dann hast Du natürlich recht!
Ich habe xl2007 und da gibt es die Spalte AAA,
hat mich wohl etwas aus dem Ruder gebracht, ich dachte es geht um die Spalte.
Gruß Tino
Anzeige
AW: @Tino
07.02.2009 20:28:08
Uwe
Hi Tino,
ahh.., jetzt versteht ich. Ich hatte mich schon gewundert warum Du "so schwer von Begriff" bist (sorry (:o)), wo Du doch sonst eigentlich um einiges fitter in Excel bist als ich. Ich werkel noch mit Office 9 'rum und bin daher von vorneherein nicht Gefahr gelaufen das für eine Spalte zu halten.
Gruß
Uwe
(:o)
@Uwe u. @Peter
07.02.2009 21:31:00
Tino
Hallo,
die Hauptsache ist ja, dass wir eine Lösung gefunden haben.
Ich hoffe Peter kommt noch zurecht.
Also so.

Range("AAA").EntireColumn.Hidden = [COUNTIF(AAA,0)+COUNTBLANK(AAA)] = Range("AAA").Cells.Count


Gruß Tino

Anzeige
AW: Spalte ausblenden, wenn leer
08.02.2009 10:00:00
Gerd
Hallo zusammen,
es sieht so aus, dass der Fragesteller seinen Beitrag vergessen hat.
Also so zum Spaß noch ein Vorschlag mit nur zwei "Counts".

Sub b()
Range("AAA").EntireColumn.Hidden = [COUNTIF(AAA,">0")+COUNTIF(AAA,"


Grüße Gerd

AW: Spalte ausblenden, wenn leer
08.02.2009 13:04:28
Uwe
Hi Gerd,
... echt raffiniert. Gute Idee. Schade das Peter das wohl nicht zu sehen bekommt.
Gruß
Uwe
(:o)
AW: Spalte ausblenden, wenn leer
08.02.2009 13:14:01
Peter
Hi zusammen
Doch, ich bin aus der Ferne noch dabei. Allerdings habe ich im Moment nur das iPhone zur Verfügung - das Austesten muss daher noch eine Weile warten.
Nochmals besten Dank und
Gruss
Peter
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige