ich bin auf ein Problem gestoßen, bei dem ich ohne eure Hilfe wohl nicht mehr weiter kommen. Die Suche im Forum hat mich leider auch nicht wirklich weiter gebracht. Zumindest bringen meine Fundstellen immer nur Beispiele für "sichtbare" Tabellenblätter.
Beschreibung:
Ich möchte auf einem Tabellenblatt, welches für den Anwender NICHT(!) sichtbar sein soll Inhalte aus (zusammenhängenden) Zellen löschen.
Ich habe das Skript sowohl mit ".Select" als auch mit ".Activate" probiert. Beides ohne Erfolg. Bei sichtbarem Tabellenblatt läuft alles problemlos durch und das Ergebnis entspricht meinen Erwartungen.
Problem:
Sobald ich das Tabellenblat, auf welches zugegriffen werden soll "verstecke" bricht das Skript mit Laufzeitfehler bei der Anweisung "ws.Range ..." (s. Skript-Schnipsel unten) ab. Zunächst habe ich gedacht, dass es mit der "Stärke" der Unsichtbarkeit (hidden/veryHidden) zu tun haben könnte. Aber auch diese Veränderung führt zu keinem Ergebnis.
Hier ein kleiner Auszug aus dem Skript:
...
tbl_parameter_save.Visible = xlSheetHidden
' tbl_parameter_save.Visible = xlSheetVeryHidden
Set ws = tbl_parameter_save
ws.Activate
' Cells(Zeile, Spalte)
i_rows = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row ' Anzahl beschriebene Spalten
ws.Range(ws.Cells(1, 1), ws.Cells(i_rows, 2)).Select
'ws.Range(ws.Cells(1, 1), ws.Cells(i_rows, 2)).Activate
Selection.Clear ' Löscht alle ausgewählten Felder
...
Fehlermeldung:
Ich bekomme folgenden Laufzeitfehler:
LZ 1004: "Die Select-Methode des Range-Objektes konnte nicht ausgeführt werden.
Hat einer von euch eine Idee, was ich wo verändern muss, damit das Skript auch bei "verstecktem" Tabellenblatt durchläuft?
VG und schon mal besten Dank für Eure Unterstützung vorab
Ingo