Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

automatisch Zellen verstecken





Frage

Hallo Community, ich habe mal wieder ein Problem wo ich nciht weiter komme. Also ich habe eine Excel Tabelle in der die Spalten Kalenderwochen für mehrere Jahre darstellen. Die ganzen Werte werden alle in einem Diagramm dargestellt. Nun möchte ich aber zum Beispiel alle Spalten die leer sind (weil für diese Woche noch keine Daten verfügbar sind) versteckt werden. Zusätzlich soll er auch nur die letzten 10 Wochen anzeigen. Also von der Logik her würde ich sagen merke dir die letzte Spalte wo Werte drin sind, ziehe 10 Spalten ab und dann markiere Spalte 3 bis zu der errechneten Spalte. So und dann geht es mit diesem Code weiter: Selection.EntireColumn.Hidden = True Aber genau diese Umsetzung der Markeirung bekomme ich nicht hin. Würde mich tierisch freuen wenn mir jemand helfn könnte. Dank und Gruß Thomas. Jede Woche werden neue Daten automatisch eingefügt und hinten angehangen.

Antwort 1 von Beverly

Hi Thomas,

Range(Columns(3), Columns(IIf(IsEmpty(Cells(2, Columns.Count)), Cells(2, Columns.Count).End(xlToLeft).Column, Columns.Count) - 10)).Hidden = True


Anzahl der belegten Spalten wird in Zeile 2 ermittelt.

Bis später,
Karin

Antwort 2 von Handybike

hey danke für die Hilfe, werde das gleich mal probieren!

Gruß Thomas

Antwort 3 von Handybike

Hallo Karin oder auch andere,

also deine Lösung hat super funktioniert wenn man nicht auf Objekte zugreifen muss. Kurz zur Erklärung. Also ich habe eine Excel Datei in der ich das Makro geschrieben habe. Von dieser Datei aus öffnen ich drei weitere Excel Dateien (week, month und target) aus diesen Dateien suche ich mir bestimmte Daten raus, die dann in eine vierte Datei kopiert werden sollen. Und diese vierte Datei ist die Datei in der ich nur die letzten zehn Wochen angezeigt bekommen will.
Kurz noch zu den Variablen die ich verwende. Also

wbTemplate as Excel.Workbook
wsTepmlate as Excel.Worksheet

Im wbTemplate ist ganz normal die Exceldatei geöffnet und wsTemplate bekommt durch: Set wsTemplate = wbTemplate.Worksheets("main") ihr Arbeitblatt zugewiesen.

Wenn ich jetzt irgendetwas machen will, dann fange ich halt immer an mit "wsTemplate." und dann die jeweilgen Anweisungen.

Als ich jetzt das Ganze mit dem Quellcode von dir versucht habe, hat das leider nicht geklappt. Es kommt dann immer der Anwendungsfehler 1004 "Anwendungs- oder objektdefinierter Fehler"

wsTemplate.Range(Columns(3), Columns(IIf(IsEmpty(Cells(2, Columns.Count)), Cells(2, Columns.Count).End(xlToLeft).Column, Columns.Count) - 10)).Hidden = True

Hast du oder jemand anderes eine Idee, wie das anderste klappen könnte? Wenn ja immer her da mit bin für jeden Vorschlag dankbar.

Gruß Thomas

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: