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 als Variable verwenden (VBA)
#1
Question 
Hi,

in der Spalte A sollen die Personalnummern der MA eingetragen werden. Die restlichen Splaten dieser Zeile sollen sich automatisch aus einer externen Datei befüllen. Der Dateiname der externen Datei lautet "Personalnummer".xlsx
Da bei der Abfrage der externen Datei immer wieder der Dateiname auftaucht, soll dieser als Variable verwendet werden.

Ich habe foldenden Code, welcher auch das richtige Ergebnis in eine Messagebox liefert:

   Sub dateiname()
     Dim name As String
     name = Range("a5") & ".xlsx"
     MsgBox name
   End Sub


Was ich nicht schaffe ist, die Variable "name" in der Formel an der Stelle 70239220.xlsx zu verwenden. Wie fügt man das ein?
   Beispiel:
   =SVERWEIS(A5;'U:\[70239220.xlsx]Urlaubsplaner'!$A$5:$OX$5;3;FALSCH)

Desweiteren habe ich in dem Code die Zelle A5 absolut angegeben. In Zeile 6 wäre es aber A6 und Zeile 7 natürlich A7 usw.
Wie kann man das lösen?

Ich bin absoluter Anfänger, meine Fähigkeiten sind was VBA anbelangt gleich Null.

Vielen Dank für eure Unterstützung.

VG dev5fr
Antwortento top
#2
Hallo,

vielleicht so:
Sub Test()
With ActiveCell
.Formula = "=VLOOKUP(" & Cells(.Row, 1).Address(0, 0) & ",'U:\[" & Cells(.Row, 1).Value & ".xlsx]Urlaubsplaner'!$A$5:$C$5,3,FALSE)"
End With
End Sub
Gruß Uwe
Antwortento top
#3
Ich habe eine Function daraus gemacht.
Wenn ich in der Formel dateiname("A$5") verwende, müsste es doch funktionieren, oder?
Aber wie das in einer Formel verwendet wird, weiß ich nach wie vor nicht   Confused
  
Code:
Function dateiname(i As String) As String
     dateiname = Range(i) & ".xlsx"
   End Function

   Sub name()
     MsgBox dateiname("A5")
   End Sub

VG dev5fr



Oh Uwe,
vielen Dank.
Ich probiere es direkt aus.

VG dev5fr

Ne, bekomm ich nicht hin. Ich verstehe auch gar nicht was dein Code macht.

Wie bekommst du denn damit raus, wo die Personalnummer steht?
Antwortento top
#4
(10.10.2020, 18:04)dev5fr schrieb: Wie bekommst du denn damit raus, wo die Personalnummer steht?

Weiß ich nicht. Ich habe da nicht so den Durchblick bei Deinen Beschreibungen. Undecided

Gruß Uwe
Antwortento top
#5
Hi, ich habe aufgegeben bzw. meine Anforderungen runtergeschraubt. Danke bis hier hin. VG dev5fr
Antwortento top


Gehe zu:


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