Clever-Excel-Forum

Normale Version: Datei öffnen VBA mit variablem Dateinamen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Morgen zusammen,

ich möchte in Excel per Makro eine Dateiöffnen dessen Dateinamen sich ändert anhand des Datums.
Die Datei liegt auf g:\HKLW\Test-Gesamtübersicht_Test Düsseldorf_2021.06.25.xlxs
Es wird sich das Datum ändern.
Da kommt ein Sverweis rein. Den habe ich schon.
Ist es möglich das so zu machen das Excel die Datei gar nicht öffnet, sondern sich die 
Daten so daraus holt? Wobei das nur ein Nice to Have wäre.

Hier ist mein Code.

 'SVerweis Spalten B bis G auf Tabellenblatt RVG-Verfahren funktionert..nicht nur mit Debuggen!
For i = 2 To letzte_zeile
    With Application.WorksheetFunction
   
    'T1
        Range("B" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 2, False)
       
    'T2
        Range("C" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 3, False)
        
    'T3- Gericht
        Range("D" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 25, False)
       
    'T4
        Range("E" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 26, False)
       
     'T6
        Range("F" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 27, False)
       
    'T7
        Range("G" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 28, False)
       
    'T8
        Range("H" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 31, False)
               
     'T9
        Range("I" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 50, False)
       
   'T10
    Range("J" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 51, False)
  
   'T11
     Range("K" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 52, False)
  
   'T13
    Range("L" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 53, False)
  
 
    'T14
    Range("M" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 11, False)
 
'T15
    Range("N" & i).Value = .VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), 12, False)
 
    End With
Next i

Ich weiß, es würde mehr sinn machen das direkt über den Sverweis zu machen, aber das Sheet soll nur mit Makros bearbeitet werden.

Wäre klasse wenn Ihr mir helfen könntet.

Liebe Grüße
gfritz74
Hallo,

worin siehst du den Vorteil, die Daten aus einer geschlossenen Datei zu lesen?
Hallo,

obs ein Vorteil ist keine Ahnung.
Sagte ja Nice to Have.
Hallo,

wenn es das nicht ist, was ist dann deine Frage?
ich möchte in Excel per Makro eine Dateiöffnen dessen Dateinamen sich ändert anhand des Datums.
Die Datei liegt auf g:\HKLW\Test-Gesamtübersicht_Test Düsseldorf_2021.06.25.xlxs
Es wird sich das Datum ändern.
Da kommt ein Sverweis rein. Den habe ich schon.
Ist es möglich das so zu machen das Excel die Datei gar nicht öffnet, sondern sich die 
Daten so daraus holt? Wobei das nur ein Nice to Have wäre.
Hallo,

versuche es einmal so: (Das Makro ist nicht getestet)

Code:
Option Explicit
Sub Test()
    Dim strZiel As String
    Dim strDatu As String
    Dim i As Integer
    Dim letzte_Zeile As Long
    Dim strVerzeichn As String
    Dim varSpArr As Variant
    Dim intAnz As Integer
    strZiel = "G:\HKLW\Test-Gesamtübersicht_Test Düsseldorf_"
    strDatu = InputBox(prompt:="Bitte ein Datum im Format: JJJJ.MM.TT eingeben.", Title:="Bitte Datum eingeben")
    strVerzeichn = strZiel & strDatu & ".xlsx"
    varSpArr = Array(2, 3, 25, 26, 27, 28, 31, 50, 51, 52, 53, 11, 12)
    Workbooks.Open strVerzeichn
    For i = 2 To letzte_Zeile
        For intAnz = 0 To 13
            Range("B" & i).Value = Application.WorksheetFunction.VLookup(Range("A" & i), (Worksheets("RVG-Verfahren").Range("A:BA")), varSpArr(intAnz), False)
        Next intAnz
    Next i
    Workbooks.Close strVerzeichn
End Sub
Prima vielen Dank.
Werde ich gleich umsetzen.
Schöne Woche wünsche ich Dir.
Xlxs ist kein gültiges Extension.


Code:
Sub M_snb()
  c00="G:\OF\"
  c01=Dir(c00 & "2021*.xlsx")

  do until c01=""
    c02=c02 & vblf & c01
    c01=dir
  loop

  msgbox c02
End Sub