Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateinamen über Variablen zusammenbauen

Dateinamen über Variablen zusammenbauen
Mann
Guten Abend, liebe Kollegen,
leider ist mein Problem noch nicht gelöst. Ich versuche es noch einmal anders zu erklären:
Auf meinem Excel-Blatt stehen folgende Variablen:
in A1 = 2010
in B1 = 08
Daraufhin soll folgendes passieren:
Im Verzeichnis "D:\DATEN\TEST" stehen folgende Dateien:
2010-06, 2010-07, 2010-08, 2010-09, usw. jeweils mit .xls-Endung
Diese Dateien sind bisher noch nicht geöffnet.
Durch Eingabe der Variablen in A1 und B1 = 2010-08 soll nun diese Datei geöffnet werden.
Aus dieser Datei benötige ich dann den Wert der Zelle K66.
Hier benötige ich bitte den genauen Syntax, da ich mit Versuch und Irrtum schon sehr viel Zeit beansprucht habe.
Danke im Voraus für Eure Hilfe.
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateinamen über Variablen zusammenbauen
08.09.2010 22:56:51
Josef

Hallo ?
der Code gehört in das Modul der Tabelle. (Rechtsklick auf das Blattregister > Code anzeigen)
Beachte die Kommentare im Code.

' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Const cstrPath As String = "E:\Forum" 'Verzeichnis - Anpassen!
Private Const cstrSheet As String = "Tabelle1" 'Tabellenname - Anpassen!
Private Const cstrRef As String = "K66" 'Zelladresse - Anpassen!

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim strFile As String
  
  If Not Intersect(Target, Range("A1:B1")) Is Nothing Then
    strFile = Range("A1") & "-" & Range("B1") & ".xls"
    Range("C1") = GetValue(cstrPath, strFile, cstrSheet, cstrRef)
  End If
End Sub

Private Function GetValue(path As String, file As String, sheet As String, ref As String)
  Dim arg As String
  
  If Right(path, 1) <> "\" Then path = path & "\"
  
  If Dir(path & file) = "" Then
    GetValue = "File Not Found"
    Exit Function
  End If
  
  arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
    Range(ref).Range("A1").Address(, , xlR1C1)
  
  GetValue = ExecuteExcel4Macro(arg)
End Function

Gruß Sepp

Anzeige
AW: Dateinamen über Variablen zusammenbauen
09.09.2010 00:12:58
Gerd
Hallo Sepp,
ich schlage für die Eingabezellen eine weitere Prüfung vor.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strFile As String
If Not Intersect(Target, Range("A1:B1")) Is Nothing Then
If Len(Range("A1")) > 0 And Len(Range("B1")) > 0 Then
strFile = Range("A1") & "-" & Range("B1") & ".xls"
Range("C1") = GetValue(cstrPath, strFile, cstrSheet, cstrRef)
End If
End If
End Sub
Gruß Gerd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige