Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

“DateiName” in Workbooks.Open Filename:="F:\DateiName.xls" als Variable gestalten
#1
liebe Leute,
ich habe Nummern in der Datei Liste.xls. 
Wie kann ich von dieser Liste aus mit dem VBA Kommando

 
Workbooks.Open Filename:="F:\DateiName.xls"
“DateiName”  als Variable gestalten,

so dass ich dieser "DateiName" die Strings "Didi" bzw "Lola" usw  … zuweisen kann,
um dann von Liste.xls  aus zu Didi.xls bzw.... zu wechseln
und um eine Nummer in Zelle A1 von Didi.xls bzw ... schreiben zu können?

 
Gruß Schwipp
Antworten Top
#2
Hallo

da gibt es drei Lösungsmöglichkeiten, suche dir eine davon aus:    Workbooks.Open Filename:="F:\DateiName.xls"

1)  Lege ganz oben vor "Sub Makro" eine Konstante an, z.B.:   Const Datei = "Meine Lola Datei.xlsx"
2)  Lege eine Variable an, und weise dieser Variablen im Makro einen String zu, z.B.:  Datei = "Meine Lola Datei.xlsx"
3)  Lege eine Variable an, und hole den Text aus einer Zelle in einer Tabelle, z.B.:  Datei = Worksheets("xxx").Range("B2").Value 

Dim Datei as String
Datei = Range("B2").Value  oder  Worksheets("xxx").Range("xx")
Workbooks.Open Filename:=Datei

Viel Spass beim selbst experimentieren.  Aus eigenen Versuchen lernt man am schnellsten Vba ....

mfg  Gast 123
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Schwipp
Antworten Top
#3
Hi Schwipp,

so müsste es gehen
Code:
Sub didi()
Dim Kinder1 As String
Dim kinder2 As String
Dim Test
Kinder1 = "Didi"
kinder2 = "Lola"
Test = "F:\" & Kinder1 & ".xls"
Debug.Print Test
Workbooks.Open ("F:\" & Kinder1 & ".xls")
Workbooks.Open ("F:\" & kinder2 & ".xls")
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Wastl für diesen Beitrag:
  • Schwipp
Antworten Top
#4
Hallo Wastl, Hallo Gast123,
Das DiDi-Lola Beispiel klappt auf Anhieb, sehr sehr vielen Dank, und ich verstehe es auch.
Aber das Einbauen in meine eigene Struktur war dann doch etwas mühsamer, geht aber jetzt.

Denn: 
Mit einer Masterdatei  namens Rechnung3 generiere ich die Kunden-Dateien Didi.xls ,  Lola.xls  usw.
und schicke Ihnen daraus erzeugte PDF-Angebote.
Wenn jetzt später ein Kunde anbeißt, muss ich ihm eine Rechnungsnummer zuteilen.
Das Finanzamt verlangt, dass diese Nummern lückenlos und fortlaufend sind.  Also darf ich nur wirklich interessierten
Kunden eine Nummer zuteilen.
Dazu gehe ich dann von Didi.xls,  Lola.xls, ...  aus mittels der Makros in der zusätzlich geöffneten MasterDatei in die Datei NrListe.xls,
und trage dort Didi und Lola ein, teile Didi und Lola eine Rechnungsnummer zu, transferiere die Rechnungsdnummern dann in die zugehörige Kundendatei Didi und Lola.

Es ist eben eine Kreuzknoten-Programmierung. Sicherlich ginge das auch noch sehr viel eleganter,  aber das wichtigste mit daran ist, dass man jeden Schritt auch per Hand machen kann, mit Copy and Paste, wenn mal irgendwas in der Nr-Liste verrutscht ist oder  wenn dann doch ein Kunde wieder abspringt und die Rechnungsnummer doch nicht benutzt wird und andernweitig belegt werden MUSS.

Die MasterDatei Rechnung3  habe ich vor 15 Jahren mal von Werner Bergmeier, einem rührend  hilfsbereiten Menschen, gekauft, der aber längst verstorben ist und der mir nicht mehr helfen kann.
Dies nur so mal zum Verständnis,  manchmal bekommt man dann ja hilfreiche Anregungen für weitere Wege.

ciao Schwipp
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste