Ich habe eine große Reihe von Bereichen (> 500), die ich in meiner Arbeitsmappe mit allgemeinen Deklarationen definiert habe: Public r1 As Range, Public r2 As Range
usw. Jeder Bereich bezieht sich immer auf dieselbe Zelle in das Dokument. dh r1 bezieht sich immer auf Blatt 1, B2.So legen Sie einen globalen Variablenbereich fest, der in mehreren Prozeduren/Modulen verwendet werden kann
Viele meiner Ereignisse nehmen Aktion für alle 500 Bereiche einzeln und ich bin oft in die 64k-Modul Speichergrenze stoßen, weil ich den Bereich für jede Variable in jedem Modul zu erklären habe, die ich unter Verwendung getan: Set r1 = Sheets("Sheet 1").Range"B2"
Gibt es eine Möglichkeit, die Bereiche global zu deklarieren und sie dann in allen verschiedenen Modulen, die sie verwenden, frei zu nennen? Dies würde 30k Speicher für jedes Modul freigeben.
Would Benannte Bereiche arbeiten? –
In der Reihenfolge der Präferenz: 1) Benannte Bereiche, 2) eine Klasse, 3) eine Subroutine, die sie setzt, aufgerufen von jeder Routine, die sie benötigt –
Ich versuchte mit benannten Bereichen, aber wenn ich versuche, den Bereich aufrufen, bekomme ich einen Fehler, dass sagt Kompilierfehler, Argument nicht optional. Ich bin mir nicht sicher, wie eine Klasse funktionieren würde. Für den Anruf jeder von einer Routine, ich denke, das ist die gleiche Idee, wie unten vorgeschlagen wurde, dass ich versucht habe, Arbeit für Wochen ohne Erfolg zu machen. – Mythranor