Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
224to228
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
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Workbook_SheetActivate vorübergehend außer Kraft ?

Workbook_SheetActivate vorübergehend außer Kraft ?
05.03.2003 08:01:36
Franz W.
Guten Morgen Forum,

ist es möglich einen Code in Workbook_SheetActivate vorübergehend außer Kraft zu setzen?

Hintergrund: Ich habe eine Mappe mit mehreren Monatsblättern und gehe mit nachfolgendem Code zum aktuellen Tag in die erste Zelle, in der es einen Eintrag geben darf, das ist die Zelle unter dem Datum:

Nun soll aber mit dem Code

verhindert werden, dass gesperrte Zellen angesprungen werden können. Und damit funktioniert das Makro "ZuHeute" nicht mehr, weil Cells(4, Day(Date) + 1) eine gesperrte Zelle ist und also nicht mehr ausgewählt werden kann.

Ist es also möglich das "ActiveSheet.EnableSelection = xlUnlockedCells" vorübergehend auszuschalten, bis die richtige Zelle gewählt ist? Oder kann das Makro "ZuHeute" anders geschrieben werden, dass es davon nicht beeindruckt wird? Lässt sich vielleicht in der Zeile

Cells(4, Day(Date) + 1).Select

das Select umgehen? Ich hab's nicht geschafft...

Vielen Dank schon mal für Hilfen oder Ansätze

Gruß
Franz






5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Workbook_SheetActivate vorübergehend außer Kraft ?
05.03.2003 08:19:45
Hajo_Zi

Hallo Franz

vom grundsatz kann in VBA auf Select und ähnliche Befehle verzichtet werden. Bei Deinem code sehe ich aber nicht was mit der selektierten Zelle gemacht werden soll.

Gruß hajo

Re: Workbook_SheetActivate vorübergehend außer Kraft ?
05.03.2003 08:27:02
Franz W.

Hallo Hajo,

danke für Deine Antwort. Dank Deiner unermüdlichen Wiederholungen hat sich's auch bei mir eingegraben, wo immer möglich auf Select ... zu verzichten. Hier klappts aber nicht, wenn ich die Zeilen

Cells(4, Day(Date) + 1).Select
ActiveCell.Offset(1, 0).Select

ändere auf Cells(4, Day(Date) + 1).ActiveCell.Offset(1, 0).Select , dann tut sich gar nix mehr.

Es geht darum dass diese Zelle die ist, die nach dem aktuellen Datum ausgewäht werden kann, um dann eine nach unten zu springen wo sie hin soll.

Gruß
Franz


Anzeige
Danke! Erledigt!
05.03.2003 08:28:55
Franz W.

Hallo Hajo,

hab's falsch versucht!!! Mit
Cells(4, Day(Date) + 1).Offset(1, 0).Select
klappts natürlich! Dank Deinem Denkanstoß, daraufhin hab ich noch mal genauer hingeschaut...!!!

Gruß
Franz

Re: Danke! Erledigt!
05.03.2003 08:32:35
Hajo_Zi

Hallo Franz

es ist aber immer noch ein Select in dieser Zeile und davor. Damit wird das Activate Ereignis immer noch ausgelöst.

Gruß Hajo

Re: Danke! Erledigt!
05.03.2003 08:47:15
Franz W.

Hallo Hajo,

stimmt, aber:

1. das Select in der Zeile soll sein, da soll er hin, weil es dort mit Eingaben los geht.

2. das Select in der Zeile davor: Sheets(d).Select braucht er auch, um ins richtige Blatt zu gehen. Ich habe jetzt nach Deinem Einwand probiert:
Sheets(d).Cells(4, Day(Date) + 1).Offset(1, 0).Select
Wenn ich das Makro dann aber von einem anderen Monatsblatt, z.B. Blatt "08" für August, aufrufe, springt er nicht ins Blatt von März sondern bleibt im August (jedenfalls mit meinem Code-Versuch).

und 3. klappts so trotzdem, weil das was jetzt noch selected wird, nicht gesperrt ist und somit nicht im Widerspruch steht zu
ActiveSheet.EnableSelection = xlUnlockedCells. Im Gegensatz zu meinem allerersten Code, wo ich zuerst versucht habe, ihn in die gesperrte Cells(4, Day(Date) + 1) zu schicken.

Soweit meine Erklärungen für den Ablauf, sofern sie meinem Wissensstand entsprechen. Seh ich da noch was falsch?

Gruß
Franz



Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige