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

Menüs ändern bei Aufrufen eines Blattes

Menüs ändern bei Aufrufen eines Blattes
01.08.2002 10:51:33
Mike S.
Hallo,
gibt es in Excel die Möglichkeit, bei Aufrufen eines Arbeitsblattes im Excel-Menü automatisch Änderungen vorzunehmen?

Der Hintergrund ist folgender: Ich möchte in einem Arbeitsblatt per Makro eine bestimmte Ansicht wieder herstellen lassen, falls diese verändert wurde (Das Arbeitsblatt ist gesplittet und soll oben bzw. unten bestimmte Bereiche zeigen. Eigentlich hatte ich vor, dies per Button zu machen: Allerdings verschwindet dieses Button ja auch, wenn jeman die Ansicht "verscrollt".

(Alternativ wäre mir auch geholfen, wenn ich dieses Button auf eine bestimmte Bildschirmposition festlegen könnte).

Vielen Dank schon mal vorab!

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 10:54:58
L.Vira
Verwende das Ereignis
Private Sub Worksheet_Deactivate()
Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 11:02:45
Mike S.
Hi L.!
Kannst Du das bitte etwas genauer erklären? Stehe gerade auf dem Schlauch...
~<:-)?

Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 11:17:51
Mike S.
Hi L.!
Ich mach's noch mal kurz genauer: Dies ist der Code für die Aktion, die durchgeführt werden soll:

ActiveWindow.Panes(1).Activate
Range("A1").Select
ActiveWindow.SplitRow = 27
ActiveWindow.Panes(3).Activate
Range("A1435:B1435").Select

Und das muss ich eigentlich nur da einfügen

Private Sub ???_SheetActivate(ByVal ??? As Object)
.
.
.
End Sub


Bei den Fragezeichen bin ich mir nicht sicher, was ich da eintragen muss. Kannst Du mir weiterhelfen?
Danke!
:-)

Anzeige
Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 11:48:13
L.Vira
Wenn es in allen Blättern passieren soll:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call Deine_AktioN
End Sub

Wenn in einem bestimmten Blatt sein soll im Modul des Blatts:

Private Sub Worksheet_Activate()
Call Deine_AktioN

End Sub

sub Deine_AktioN()
ActiveWindow.Panes(1).Activate
Range("A1").Select
ActiveWindow.SplitRow = 27
ActiveWindow.Panes(3).Activate
Range("A1435:B1435").Select
End Sub

Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 12:08:13
Mike S.
Wunderbar! Es funktioniert.... Vielen Dank!

Ich habe da noch eine Frage: Im oberen Teil des Fensters soll der Cursor immer in eine bestimmte Zelle springen, die sich aus der aktuellen Kalenderwoche generiert. Da Excel (meines Wissens) nicht mit Kalenderwochen arbeitet, müsste diese Info eingegeben werden. Was aber nicht so schlimm ist, weil man manchmal nicht in die aktuelle Woche springen möchte.

Ich habe allerdings keine Erfahrung damit, wie ich einen einzugebenden Wert in eine Formel einfließen lassen kann. In diesem konkreten Fall wäre es die Formel Range("zu eingegebenem Wert + x").

Kannst Du mir auch da weiterhelfen? Sollte ich dazu einen neuen Thread öffnen? (Bin relativ neu im Forum)

:-)

Anzeige
Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 12:38:25
L.Vira
die korrekte Kalenderwoche bekommst du mit:
Function KW_DIN(Datum)
KW_DIN = DatePart("ww", Datum, vbMonday, vbFirstFourDays)
End Function

Gern, aber ich komm nicht so ganz klar mit deiner Beschreibung.
Welche soll die active zelle werden und unter welcher Bedingung?

Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 12:51:29
Mike S.
Ich habe ein zweigeteiltes Blatt, im oberen Bereich sollen Kalenderwochen auftauchen, im unteren Teil Adressen bzw. Anschriften. Da ständig die Ansicht verstellt wird, möchte ich, dass beim Aufrufen die Grundeinstellung hergestellt wird: Oben sieht man genau eine Woche (und nicht 1 1/2 oder 2 3/4 oder so) und unten die Adressen. Das funktioniert jetzt (dank Deiner Hilfe) perfekt.

Allerdings springt der obere Teil immer auf Kalenderwoche 1 [Range("A1").Select]. Es wäre aber viel schöner, wenn der obere Teil immer auf die aktuelle Kalenderwoche springt. Jede Kalenderwoche besteht aus der gleichen Anzahl von Zeilen, d.h. mit einem Multiplikator könnte ich dann die entsprechende Zelle errechnen [Range("A('aktuelle Kalenderwoche' x 7)").Select].

Was ich aber nicht weiss: Wie kann ich in die Range-Funktion diesen Wert übernehmen: Ich aktiviere den Sheet -> Excel errechnet die genaue Position anhand der Kalenderwoche und setzt den Cursor da hin.

Ich hoffe, dass ich mich verständlicher ausgedrückt habe...

;-)

Anzeige
Re: Menüs ändern bei Aufrufen eines Blattes
01.08.2002 13:34:41
L.Vira
Tut mir Leid, irgenwie hab ich ein Brett vorm Kopf:
mail mir mal ein Beispiel: softsmith@web.de

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige