Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1272to1276
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

Scrollen begrenzen ein-/ausschalten

Scrollen begrenzen ein-/ausschalten
Jörg-HH
Hallo zusammen
zuum Thema "Scrollen begrenzen" gibt es ja diverse Threads. Überall wird darüber geredet, daß man das beim Öffnen der Datei oder bei SheetActivate einschalten muß.
Mein Problem: Es solll mitten im Code geschehen.
- Es wird zu Eingabezwecken ein zweites Fenster geöffnet und geteilt.
- Im rechten Teil sollen Eingaben gemacht werden. In diesem Teil soll der Scrollbereich begrenzt werden. Nach den Eingaben soll die Begrenzung aufgehoben werden. Dann wird das Fenster geschlossen.
- Der gleiche Vorgang wiederholt sich mit anderen Bereichen.
Ich dachte mir das so... aber da kommt die Meldung "unterstützt nicht usw..."
ws.Range("A1").Select
ActiveWindow.Panes(2).ScrollColumn = rngEingabe.Column
ActiveWindow.Panes(2).ScrollRow = rngEingabe.Row
ActiveWindow.Panes(2).ScrollArea = "FW555:FY575"
Wie kann ich das hinkriegen?
Grüße - Jörg

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

Betreff
Benutzer
Anzeige
AW: Scrollen begrenzen ein-/ausschalten
14.08.2012 16:26:09
{Boris}
Hi Jörg,
kannst Du mal ne Mappe mit dem Code hochladen, der die Fenster teilt? Dann sag, was wo eingegeben werden soll / muss und woran man erkennt, dass die Eingabe fertig ist, um die Teilung wieder aufzuheben.
VG, Boris
AW: Scrollen begrenzen ein-/ausschalten
14.08.2012 16:26:11
{Boris}
Hi Jörg,
kannst Du mal ne Mappe mit dem Code hochladen, der die Fenster teilt? Dann sag, was wo eingegeben werden soll / muss und woran man erkennt, dass die Eingabe fertig ist, um die Teilung wieder aufzuheben.
VG, Boris
AW: Scrollen begrenzen ein-/ausschalten
14.08.2012 16:54:51
Jörg-HH
Hi Boris
Mappe hochladen geht nicht , aber Code schon...
Der Code wird von einer Klick-Prozedur gerufen und ist nach der MsgBox erstmal fertig. Dann macht der User seine Eingaben. Ist er damit fertig, klickt er OK. Damit wird das Fenster wieder geschlossen, und das wäre auch der Moment, in dem die Scrollbegrenzung wieder aufgehoben werden müßte.
Jörg
Sub a0_EingabebereichRufen(ByRef target As Range, ByRef wsconfig As Worksheet, ByRef ws As  _
Worksheet, _
ByRef strSpalte As String, ByRef rngEingabe As Range, ByRef strProdTeil  _
As String)
ActiveWindow.WindowState = xlMinimized
ActiveWindow.NewWindow
ws.Activate
ActiveWindow.Panes(1).ScrollColumn = ws.Range(wsconfig.Range("BL147").Value).Cells(1, 1).Column
ActiveWindow.Panes(1).ScrollRow = ws.Range(wsconfig.Range("BL147").Value).Cells(1, 1).Row
ActiveWindow.WindowState = xlNormal
With ActiveWindow
.Top = 20
.Left = 10
.DisplayHeadings = False
.DisplayWorkbookTabs = False
.DisplayVerticalScrollBar = False
.ZOOM = 100
.Height = 280
.SplitColumn = 2
.Panes(2).Activate
If Range(wsconfig.Range("BL147").Value).Width + Range(wsconfig.Range(strSpalte & "147").Value) _
.Width 

Anzeige
AW: Scrollen begrenzen ein-/ausschalten
15.08.2012 09:42:42
fcs
Hallo Jörg,
die ScrollArea ist eine Eigenschaft des Tabellenblatts - nicht der Windowpanes. Du musst also das entsprechende Tabellenblatt als Objekt angegeben.
Ob dan dein Makro noch so funktioniert, wie du dir das vorstellst: ?
Leider hat Microsoft es geschafft, die ScrollArea als Eigenschaft des Worksheet-Objekts festzulegen.
Im Gegensatz zu alen anderen Eigenschaften rund um das Scrollen (FensterFixieren, Scrollen,Fenster-Teilen).
Ist wahrscheinlich ein Relikt aus der Vor-Multifenster-Periode von Excel oder der DOS-Periode.
Ein 2. potentieller Problempunkt sind die Range (blau markiert) ohne vorangestelltes Worksheet-Objekt.
Im Moment wird hier auf das Worksheet zugegriffen, das im Moment der Ausführung das aktive Blatt ist.
Gruß
Franz
Userbild
Anzeige
AW: Scrollen begrenzen ein-/ausschalten
15.08.2012 09:53:38
Jörg-HH
Hi Franz
dann müßte ich bei blau wohl noch einen Punkt setzen...? Ist bisher nicht aufgefallen, weil unmittelbar davor das 2. Fenster geöffnet wurde und insofern "noch" das aktive war.
Wenn ich dich richtig verstanden habe, müßte ich statt ActiveWindow.Panes(2).ScrollArea = "FW555:FY575"
schreiben ws.ScrollArea = "FW555:FY575", oder ?
ws wird ja durchgereicht, und daß in dem Moment die scrollarea für das ganze Blatt gilt, stört in dem Moment nicht. Werd's heut Nachmittag mal probieren... muß jetzt erstmal wech...
Grüße - Jörg
AW: Scrollen begrenzen ein-/ausschalten
15.08.2012 11:38:44
fcs
Hallo Jörg,
wenn ScrollArea für ein Tabellenblatt gesetzt wird, dann können per TAB, ENTER und/oder Pfeiltasten auch nur noch Zellen in diesem Bereich angesteuert werden, bei geschütztem Blatt nur die ncht gesperrten Zellen innerhalb der ScrollArea.
dann müßte ich bei blau wohl noch einen Punkt setzen...?
Wenn das aktive Tabellenblatt immer das richtige ist, dann brauchst du nichts zu ändern.
Wenn wie in deinem Code mehrere Tabellenblätter involviert sind, dann sollte bei den Range-/Cells-Objekten möglichst immer mit der vollständigen Objekt-Kennzeichnung gearbeitet werden. Der Code liest sich dann einfacher.
Füge hier also ggf. "ws." vor "Range" ein. Nur Punkt ist hier falsch, da das zugehörige With-Objekt "ActiveWindow" ist und kein Worksheet-Objekt.
Gruß
Franz
Anzeige
ok, Franz - danke! oT
15.08.2012 11:42:51
Jörg-hh
Scrollen begrenzen Zusatzproblem
15.08.2012 09:44:04
Jörg-HH
...und dann fiel mir zufällig noch was auf, woran ich gar nicht gedacht hatte:
In dem ganzen (geschützten) Blatt gibt es überwiegend gesperrte Zellen, nur die Eingabezellen sind nicht gesperrt. Einige von denen befinden sich aber hinter dem Rand des zweiten Fensters.
Es soll also nicht nur das scrollen in diesem zweiten Fenster (rechtes Pane) verhindert sein, sondern auch das Hüpfen von einer ungeschützten Zelle zur nächsten, sofern sie sich außerhalb des Fensters befindet.
:-(

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige