Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

mit VBA horizontal scrollen

277 views
Skip to first unread message

Hans Alborg

unread,
Nov 23, 2015, 5:13:00 PM11/23/15
to
Guten Abend,

<Excel 2007>

ich hab mich früher schon ausführlich mit Obigem befaßt, und die Sache
wieder fallen lassen.

Jetzt soll es aber ganz einfach gehen!
Naja, nicht scrollen sondern springen!

In Spalte A, die fixiert ist, habe ich die Hintergrundfarbe alle 10 Zeilen
abwechselnd farbig gestaltet.

Jede der 2 Farben löst beim Anklicken ein Scroll- Ereignis aus:

If ActiveCell.Interior.Color = RGB(250, 250, 100) Then
ActiveWindow.ScrollColumn = 9

Ich möchte natürlich bei jedem Klick keinen Sprung zu Spalte 9, sondern
immer 9 Spalten weiter!
Dasselbe dann auch "negativ", also zurück nach Spalte 9 (Klick auf 2.Farbe).

Das wäre ein Klacks mit einer Zählschleife, aber gibt's da bereits einen
Befehl zum "Scrollen um 9 Stellen"?

TIA,

Hans

Martin Worm

unread,
Nov 24, 2015, 11:59:18 AM11/24/15
to
On Mon, 23 Nov 2015 23:12:15 +0100, "Hans Alborg"
<Hans....@Hai-tec-computerservice.de> wrote:

>Guten Abend,
>
><Excel 2007>
>

>In Spalte A, die fixiert ist, habe ich die Hintergrundfarbe alle 10 Zeilen
>abwechselnd farbig gestaltet.
>
>Jede der 2 Farben löst beim Anklicken ein Scroll- Ereignis aus:
>
>If ActiveCell.Interior.Color = RGB(250, 250, 100) Then
>ActiveWindow.ScrollColumn = 9

>Ich möchte natürlich bei jedem Klick keinen Sprung zu Spalte 9, sondern
>immer 9 Spalten weiter!
>Dasselbe dann auch "negativ", also zurück nach Spalte 9 (Klick auf 2.Farbe).

If ActiveCell.Interior.Color = RGB(250, 250, 100) Then

activewindow.ScrollColumn =activewindow.ScrollColumn +9 (oder -9)

Vielleicht sollte man abfangen, dass man nicht Spalten<0 oder >16384
erhält

mit freundlichen Grüssen

--

Martin Worm

Claus Busch

unread,
Nov 24, 2015, 12:01:48 PM11/24/15
to
Hallo Hans,

Am Mon, 23 Nov 2015 23:12:15 +0100 schrieb Hans Alborg:

> If ActiveCell.Interior.Color = RGB(250, 250, 100) Then
> ActiveWindow.ScrollColumn = 9
>
> Ich möchte natürlich bei jedem Klick keinen Sprung zu Spalte 9, sondern
> immer 9 Spalten weiter!
> Dasselbe dann auch "negativ", also zurück nach Spalte 9 (Klick auf 2.Farbe).

probiere es mal so nach Rechts:

With ActiveWindow
If ActiveCell.Interior.Color = RGB(250, 250, 100) Then
.ScrollColumn = IIf(.ScrollColumn < 9, 9, .ScrollColumn + 9)
End If
End With

Nach Links dann analog.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional

Hans Alborg

unread,
Nov 24, 2015, 12:19:08 PM11/24/15
to
"Hans Ingrid Alborg" schrieb...

> Then _ ActiveWindow.ScrollColumn = 9

Man muß vielleicht einfach mal ausschlafen, dann klappt das wieder!

If ActiveCell.Interior.Color = RGB(250, 250, 100) _
Then ActiveWindow.SmallScroll Toleft:=9

If ActiveCell.Interior.Color = RGB(200, 240, 100) _
Then ActiveWindow.SmallScroll ToRight:=9

Mal seh'n ob mich solche Springerei glücklich macht.
Kann ich ja wieder löschen :-)

Hans

Hans Alborg

unread,
Nov 24, 2015, 12:43:02 PM11/24/15
to
Hey Leute, da waren wohl alle fast gleichzeitig mit dem Abendbrot fertig?

"Martin Worm" schrieb...

> If ActiveCell.Interior.Color = RGB(250, 250, 100) Then
> activewindow.ScrollColumn =activewindow.ScrollColumn +9 (oder -9)
> Vielleicht sollte man abfangen, dass man nicht Spalten<0 oder >16384
> erhält

Hi Martin, >16384 wäre eher unwarscheinlich: 16384/9 müßte ich 1820x
klicken.
Keine Arbeit für einen Tag, was?
-----------------------------------------------------------------------------

"Claus Busch" schrieb...

> With ActiveWindow
> If ActiveCell.Interior.Color = RGB(250, 250, 100) Then
> .ScrollColumn = IIf(.ScrollColumn < 9, 9, .ScrollColumn + 9)
> End If
> End With

> Nach Links dann analog.

Hallo Claus,
3 Leute, 3 Lösungen. Ist schon interessant daß es mit VBA nicht nur eine
Herangehensweise gibt. Nur schade daß Excel kein Softscroll kann, das wäre
zum gucken nicht so anstrengend. Für den _automatischen_ Ablauf meiner
Simulation verwende ich Routinen, die zum jeweils interessanten Fleck in der
großen Tabelle springen, mit dafür passendem Zoom und einer Userform, die
einen zum gezeigten Vorgang passenden Text anzeigt. Das funktioniert schon,
muß aber noch für alle Stops gemacht werden.

Die hier gefragte Form des Scrollens brauche ich, wenn ich die Simulation
per Hand weiterschalte, dann geht es (max. 700 Zeilen, Martin) in der
Tabelle immer hin und zurück.

Na dann noch einen schönen Abend allerseits, und Danke!

Hans

0 new messages