Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
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

Objektvariablen als Public?

Objektvariablen als Public?
13.05.2016 16:04:16
Peter
Hallo Zusammen,
lassen sich diese Objektvariablen als Public deklarieren?
Kann ich sie z.B. in ein Modul "Globale Variablen" reinsetzen, so dass sie allen Modulen zur Verfügung stehen?
Zur Zeit stehen die u.g. Zeilen in jeden Modul. Also wird jedes mal die Datei geöffnet. Letztendlich möchte ich mit der with ws-Anweisung Daten aus einer anderen bereits geöffneten Datei einlesen.
Dim wb As Workbook
Dim ws As Worksheet
Dim wsL As Worksheet
Workbooks.Open (PfadTeil2 & "Übersicht.xlsx")
Set wb = ActiveWorkbook
Set ws = wb.Worksheets("Tab1")
Set wsL = wb.Worksheets("Tab2")
with ws
end with
Für eure Hilfe bedanke ich mich im voraus.
LG, Peter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Objektvariablen als Public?
13.05.2016 16:15:34
Daniel
Hi
wenn die Variablen in allen Makros verwendet werden sollen, dann muss ihre Deklaration so erfolgen:
1. in einem allgemeinen Modul (Modulname ist egal)
2. oberhalb der Makros, direkt unter Option Explict
3. statt DIM schreibe PUBLIC
also in etwa so im Modul1
Option Explicit
Public wb As Workbook
Public ws As Worksheet
Public wsL As Worksheet
Sub Makro1()
...
das Public sorgt dafür, dass die Variable in allen Makros der Datei bekannt ist.
schreibst du nur DIM, so sind die Variablen nur in den Makros des Moduls bekannt, in dem sie deklariert wurden.
die Zuweisung des Objektes oder des Wertes muss dann einmalig durchtgeführt werden, und zwar in dem Makro, welches als erstes läuft.
Gruß Daniel

Anzeige
AW: Objektvariablen als Public?
13.05.2016 17:26:40
Peter
Hallo Daniel,
danke, so hat es funktioniert.
Werden so auch normale Variablen wie z.B
lz = .Cells(Rows.Count, 2).End(xlUp).Row

als public deklariert.
Wenn ich ein anders Makro laufen lasse, dann ist lz=0 anstatt 295.
LG, Peter

AW: Objektvariablen als Public?
13.05.2016 17:42:29
Daniel
Hi
Variablen, die innerhalb des Makros deklariert oder erzeugt werden (wenn du nicht mit Option Explicit arbeitest) gelten nur innerhalb des Makros, ein "Public" gibt es hierbei nicht.
wenn du den gleichen Variablennamen in einem anderen Makro dann nochmal verwendest, entsteht hierbei eine neue Variable.
auch wenn du eine bereits als Public deklarierte Variable in einem Makro nochmal deklarierst, entsteht eine neue Variable, die zwar den gleichen Namen hat, aber von der Public-Variable unabhängig ist.
Gruß Daniel

Anzeige
AW: Objektvariablen als Public?
14.05.2016 02:27:14
Peter
Hallo Daniel,
vielen Dank, werde es morgen testen
LG,
Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige