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

Makro

Makro zu langsam !!!
17.02.2003 20:24:22
Michael E
Hi Excel-Spezis
habe ein Makro mit folgenden Inhalt( Auszug )(mit Hilfe von wolf erstellt )

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

Select Case Target.Address
Case "$A$8": Anl_315
Case "$A$9": Anl_320
Case "$A$10": Anl_321
Case "$A$11": Anl_322
Case "$A$12": Anl_323
Case "$A$15": Anl_316_1
Case "$A$16": Anl_316_2

usw. ca 500 mal.
Makro für zB Anl_316_2

Sub Anl_316_2()
ActiveSheet.ScrollArea = ""
ActiveWorkbook.CustomViews("316_2").Show
ActiveSheet.ScrollArea = "AW1:BA25"
End Sub

bei 500 mal wird alles sehr sehr langsam

hat einer eine Idee wie man es Kürzer oder schneller machen kann. ????

Im Vorraus vielen Dank für eure Mühe

gruß Michael

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

Betreff
Datum
Anwender
Anzeige
Re: Makro zu langsam !!!
17.02.2003 20:33:09
Hans W. Hofmann

ja, schon...
Indem man z.B. die Parameter (CustomViews und ScrollArea) in einen Array lädt und eine einzige Sub damit beauftragt...
Case ist dann unnötig...


Gruß HW

Re: Makro zu langsam !!!
17.02.2003 20:41:17
Michael E

Hi Hans.W. Hoffmann
Danke für die schnelle Antwort

bloß was du geschrieben hast ist ein bißchen zu hoch für mich
( bin noch nicht so gut in VBA)
kannst du mein Gedächnis auf die Sprünge helfen.
Habe mit Array noch nicht gearbeitet.

Bitte um Antwort

gruß Michael

Re: Makro zu langsam !!!
17.02.2003 20:59:01
Hans W. Hofmann

So wie Du das geschildert hast unterscheiden sich die Makros an den Stellen "316_2" ... "AW1:BA25"

Dim Buffer(1 to 500, 1 to 2) as String

Private Sub UserForm_Initialize()
...
Buffer(7,1)="316_2" :Buffer(7,2)="AW1:BA25"
....

Der Aufruf erfolgt dann als

Anl_alles(Target.Row-7)

und

Sub Anl_Alles(idxRow)
ActiveWorkbook.CustomViewsBuffer(Buffer(idxRow,1)).Show
ActiveSheet.ScrollArea = Buffer(idxRow,2)
...

So ungefähr, oder...

Gruß HW

Anzeige
Re: Makro zu langsam !!!
17.02.2003 21:27:03
Michael E

Hi Hans
(So wie Du das geschildert hast unterscheiden sich die Makros an den Stellen "316_2" ... "AW1:BA25")
so hast du geschrieben.

nicht ganz habe ja auch 500 verschieden benutzer difinierte Ansichten. die müßte man ja auch reinbringen.
um es zu verdeutlichen: Habe 500 Zellen die ich anklicken kann
wenn ich eine Zelle anklicke, springt Excel auf eine betimmten Bereich der nicht verschoben werden soll.
(sind Anlagen spezifische Daten drin)
und die Zellen sind nicht fortlaufend, war Zufall. anklickbare Zellen sind auch in Spalte B und C

vieleicht kannst du mir ein paar Zusatzinformationen geben.

Damit ich dein Vorschlag realisieren kann

Danke im vorraus
gruß Michael


Anzeige
Re: Makro zu langsam !!!
17.02.2003 21:49:23
Hans W. Hofmann

Ohje, das übersteigt fast etas den Rahmen hier. Versuchen wir's?

Dann würde ich eine Collection nehmen und die unter Case genannten Adressen als key speichern. Das Item muß dann die "CustomViews, ScrollArea" zusammen aufnehmen. Beim Auslesen der Collection kannst Dú den String am Komma mittels Split wieder auftrennen. Die Grundidee ist zeitaufwendige Abfragen zu vermeiden.

Dim Buffer as Collection


Private Sub UserForm_Initialize()
...
Buffer.Add "316_2,AW1:BA25", "$A$16"
' Das ist jetzt der zeikritische Schritt, aber nur einmal!
...

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Param
On Error Resume Next
Param = Split(Buffer(Target.Address),",")
if Err.Number = 0 then
'Target.Address in buffer
ActiveWorkbook.CustomViewsBuffer(Param(0)).Show
ActiveSheet.ScrollArea = Param(1)
else
Err.Clear
endif

Auch wieder so in etwa...

Gruß HW


Anzeige
Re: Makro zu langsam !!!
17.02.2003 22:07:55
Michael E

Hi Hans
das Wort collection hör ich heut zum ersten mal.

muß mich da noch reinlesen. ob ich das schaffe weiß ich nicht.
bei Problemen melde ich mich noch mal.

Danke Hans für die Mühe und die Zeit die du mir geopfert
hast.

gruß Michael

Re: Makro zu langsam !!!
17.02.2003 22:07:55
Michael E

Hi Hans
das Wort collection hör ich heut zum ersten mal.

muß mich da noch reinlesen. ob ich das schaffe weiß ich nicht.
bei Problemen melde ich mich noch mal.

Danke Hans für die Mühe und die Zeit die du mir geopfert
hast.

gruß Michael

Re: Makro zu langsam !!!
17.02.2003 22:42:15
Hans W. Hofmann

Du findest auch hier im Archiv einige Beispiel zu Collections, schau mal nach.

Gruß HW

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige