Anzeige
Archiv - Navigation
1612to1616
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

Dateiname als Variable VBA

Dateiname als Variable VBA
07.03.2018 14:40:05
Neumeier
Guten Tag,
ich bräuchte mal Hilfe.
Ich möchte mit einer Hauptdatei und einer Nebendatei arbeiten. Da sich der Name der Datei immer mal wieder ändert, möchte ich den Dateinamen als Variable haben.
Da ich immer zwischen den Dateien hin un her springe, möchte einen Namen den ich Ändern kann.
Ich hab so versucht, aber ich bekomme immer eine Fehlermeldung.
Habe in das Modul1 folgendes geschrieben:
Global Name_Masterdaten As Worksheet
Set Name_Masterdaten = "Masterdaten Sachnummern.xlsx"
In Modul5 ( Mein Testmodul ) habe ich folgendes versucht
Sub Test()
Workbooks.Open Filename:="\\TV-26\TV-261\322_Routenzug--RN\" & Name_Masterdaten
End Sub
leider bekomme ich dann ein Fehlermeldung, und er Springt zu meiner Variable.
Vielleicht kann mir jemand helfen. Irgendwie habe ich nicht das Richtige gefunden.
Vielen Dank
Rainer

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiname als Variable VBA
07.03.2018 14:48:48
Rudi
Hallo,
was soll der Unsinn? Wozu eine Variable, wenn du sie hart verdrahtest?
Set außerhalb einer Prozedur ist unzulässig. Genauso wie jegliche andere Zuweisung zu einer Variablen.
Wenn schon, dann
Public Const Name_Masterdaten As String = "Masterdaten Sachnummern.xlsx"
Gruß
Rudi
AW: Dateiname als Variable VBA
07.03.2018 14:50:09
Hajo_Zi
Hallo Rainer,
die Variable "Name_Masterdaten" enthält auch den Dateityp?

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Dateiname als Variable VBA
07.03.2018 14:53:36
Daniel
Hi
so wie es aussieht, mangelt es dir schon am Grundverständnis für VBA
1. du deklarierst deine Variable als Worksheet-Objekt-Variable, dann weist du ihr einen einfachen Textstring zu, verwendest aber trotzdem die Schreibweise für eine Objektzuweisung.
ebenso seltsam ist, dass du Variable als Worksheet deklarierst, aber dann einen Workbooknamen zuweist.
das deutet darauf hin, dass du dir irgenwas zusammenkopierst, ohne darüber nachzudenken, was das ganze bedeutet.
2. Wenn du Variablen haben willst, die in mehreren Makros verwendet werden können, dann muss die Deklaration in einem allgemeinen Modul oberhalb der Makros erfolgen, aber die Wertzuweisung muss innerhalb eines Makros erfolgen, idealerweise in dem Makro, welches zuerst läuft.
Nur wenn der Wert eine unveränderliche Konstante sein soll, erfolgt auch die Wertzuweisung direkt bei der Deklaration.
also:
Modul1:
Option Explicit
Public Name_Masterdaten as string
Modul 5
Sub Test1()
Name_Masterdaten = "Masterdaten_Sachnummern.xlsx"
end Sub
Sub Test2()
Workbooks.Open Filename:="\\TV-26\TV-261\322_Routenzug--RN\" & Name_Masterdaten
End Sub
wobei Test1 vor Test2 laufen muss oder die Zuweisung des Wertes in Test2 erfolgen muss.
oder als Konstante:
Modul1:
Option Explicit
Public Const Name_Masterdaten as String = "Masterdaten Sachnummern.xlsx"
Modul5:
Sub Test()
Workbooks.Open Filename:="\\TV-26\TV-261\322_Routenzug--RN\" & Name_Masterdaten
End Sub
Gruß Daniel
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige