Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Public Funktion / Variabel

Public Funktion / Variabel
31.07.2008 12:09:03
jogi
Hallo zusammen,
hate ein Problem mit dieser Funktion:
Ich möchte in meinem Modul folgende Variabeln als Konstante deklarieren, so daß ich in jeder Prozedur darauf zugreifen kann, der Code sieht so aus:
Public Variable()
Public Hier$, Datum$, Quellpfad$, Quelldatei$, Zielpfad$, Zieldatei$
Public Zähler As Byte
Const Hier = ThisWorkbook.Name
Const Datum = Workbooks(Hier).Sheets("Command").Cells(4, 2)
Const Quellpfad = Workbooks(Hier).Sheets("Command").Cells(5, 2)
Const Quelldatei = Workbooks(Hier).Sheets("Command").Cells(6, 2) & ".xls"
Const Zielpfad = Workbooks(Hier).Sheets("Command").Cells(7, 2)
Const Zieldatei = Workbooks(Hier).Sheets("Command").Cells(8, 2) & ".xls"
Const Zähler = Workbooks(Hier).Sheets("Command").Cells(14, 1)

Sub Quelldateikopieren()
'Quellen löschen
Sheets("Ur_Quelle").Select
Cells.Select
End Sub


Folgende Fehlermeldung erscheint:
Fehler beim Kompilieren: Mehrdeutiger Name: Hier
Es spielt jedoch keine Rolle, wie ich die Variable nenne, der Fehler erscheint immer, woran liegt es?
Gruß Jogi

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Public Funktion / Variabel
31.07.2008 12:27:46
Nepumuk
Hallo Jogi,
du musst Konstanten nicht separat deklarieren. Wenn du sie allerdings in mehreren Modulen verwenden willst, dann musst du sie als Public deklarieren. Beispiel:
Public Const Zähler As Byte = Workbooks(Hier).Sheets("Command").Cells(14, 1).Value
Gruß
Nepumuk

AW: Public Funktion / Variabel
31.07.2008 12:48:09
jogi
Vielen Dank,
jetzt habe ich es so umbeschrieben
Public Variable()
Public Const Hier As String = ThisWorkbook.Name
Public Const Datum$ = Workbooks(Hier).Sheets("Command").Cells(4, 2)
Public Const Quellpfad$ = Workbooks(Hier).Sheets("Command").Cells(5, 2)
Public Const Quelldatei$ = Workbooks(Hier).Sheets("Command").Cells(6, 2) & ".xls"
Public Const Zielpfad$ = Workbooks(Hier).Sheets("Command").Cells(7, 2)
Public Const Zieldatei$ = Workbooks(Hier).Sheets("Command").Cells(8, 2) & ".xls"
Public Const Zähler As Byte = Workbooks(Hier).Sheets("Command").Cells(14, 1)

jetzt kommt die Fehlermeldung: Kostanter Ausdruck erforderlich und markiert mir in der ersten Zeile:
Public Const Hier As String = ThisWorkbook.Name
".Name"
Was ist jetzt wieder falsch?
Gruß Jogi

Anzeige
AW: Public Funktion / Variabel
31.07.2008 12:56:00
Nepumuk
Hallo Jogi,
upps!!! Da hab ich selbst nicht geschaltet. :-(
Konstanten können natürlich nur aus festen Werten bestehen, aber niemals aus Werten in Zellen. Selbst wenn du sie nicht änderst, sind die änderbar und damit nicht konstant. Du brauchst also eine Initialisierungsroutine welche deine Variablen mit den Werten aus den Tabellen füllt.
Gruß
Nepumuk

AW: Public Funktion / Variabel
31.07.2008 13:01:16
jogi
Danke noch einmal für die schnelle Antwort,
d.h. konkret, das verstehe ich nicht,
mein Ziel ist es, Variabeln zu delkarieren, die ich ständig in diesem Modul benötige, die Werte hole ich mir aus der Tabelle oder durch eine Abfrage.
Wie müsste eine solche Initialisierungsroutine aussehen?
Gruß Jogi

Anzeige
AW: Public Funktion / Variabel
31.07.2008 13:09:41
Rudi
Hallo,

Wie müsste eine solche Initialisierungsroutine aussehen?


du musst den Variablen in einer Sub Werte zuweisen. Const kannst du bei deinem Vorhaben vergessen.


Public Hier$, Datum$, Quellpfad$, Quelldatei$, Zielpfad$, Zieldatei$
Public Zähler As Byte
Sub HoleWerte()
Hier = ThisWorkbook.Name
Datum = Workbooks(Hier).Sheets("Command").Cells(4, 2)
Quellpfad = Workbooks(Hier).Sheets("Command").Cells(5, 2)
Quelldatei = Workbooks(Hier).Sheets("Command").Cells(6, 2) & ".xls"
Zielpfad = Workbooks(Hier).Sheets("Command").Cells(7, 2)
Zieldatei = Workbooks(Hier).Sheets("Command").Cells(8, 2) & ".xls"
Zähler = Workbooks(Hier).Sheets("Command").Cells(14, 1)
End Sub
Sub tt()
HoleWerte
'weiterer Code
End Sub


Gruß
Rudi

Anzeige
AW: Public Funktion / Variabel
31.07.2008 13:15:00
jogi
ok jetzt hat es funktioniert!!!
DANKE nochmal!!!
Gruß JH

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige