Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
300to304
300to304
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateinamen in Zelle anzeigen?

Dateinamen in Zelle anzeigen?
03.09.2003 09:20:10
Oliver S.
Hallöchen,

ich habe einen Code, der mir Daten aus einer anderen Exceldatei in eine Vorlage kopiert. Nun möchte ich gerne, das mir in der Vorlage der Name der Exceldatei, von der die Daten ausgelesen wurden, in einer Bestimmten Zelle angezeigt werden. Bräuchte dabei aber etwas Hilfe. In der Recherche habe ich zwar was darüber gefunden, wie man den Dateinamen in einer Zelle anzeigen lässt, hilft mir aber bei meiner Datei nicht weiter, da die Datei, aus der die Daten stammen, nur kurz geöffnet wird um die Daten zu kopieren und dann wieder geschlossen wird. Da ich jetzt nicht weiß, ob Ihr um mir zu helfen den Code zum Auslesen braucht, habe ich Nachfolgend den Code mal aufgeführt.


Sub Datei_auslesen()
Dim dat$, Verz$, ws As Worksheet
Verz = "S:\HAUSSTATION\Auslesedaten Zenner Zähler\"
On Error Resume Next
ChDrive Left(Verz, 1)
ChDir Verz
On Error GoTo 0
Set ws = Workbooks("Vorlage Auslesung Datenlogger.xls").Worksheets("Auslesung Datenlogger")
dat = Application.GetOpenFilename("Exceldateien (*.xls), *.xls")
If Dir(dat) <> "" Then
Workbooks.OpenText Filename:=dat
Else
Exit Sub
End If
Worksheets("LogTab0").Range("A5:D5").Copy ws.Range("A4")
Worksheets("LogTab0").Range("A8:K3000").Copy ws.Range("A7")
ActiveWindow.Close (False)
End Sub


Für Eure Hilfe besten Dank,
Oliver

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen in Zelle anzeigen?
03.09.2003 09:44:43
WernerB.
Hallo Oliver,

solange die Quelldatei noch aktiv ist, kannst Du den Namen wie folgt auslesen und in einer Variablen merken.
Anschließend kannst Du den Namen in der Zieldatei eintragen; sind beide Dateien gleichzeitig geöffnet (Quelldatei muss aber die aktive sein), geht es auch direkt (ohne Variable).

mit Variable:
Dim dName As String
dName = ActiveWorkbook.Name
Zieldatei.Worksheets("???").Range("A1").Value = dName

direkt:
Zieldatei.Worksheets("???").Range("A1").Value = ActiveWorkbook.Name
Viel Erfolg wünscht
WernerB.

P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller (siehe dazu Forums-FAQ)!
Anzeige
AW: Dateinamen in Zelle anzeigen?
03.09.2003 11:48:13
Oliver S.
Hallo Werner,

danke Dir für die schnelle Antwort. Funktioniert super. Ich muss jetzt nur noch herausfinden, wie ich das .xls weg bekomme. Das stört ein wenig, da der Dateiname gleichzeitig eine Art Überschrift sein soll.

Bis zum nächsten Mal,
Oliver
Dateiname ohne ".xls"
03.09.2003 12:10:30
WernerB.
Hallo Oliver,

vielen Dank für die Rückmeldung.

Schreibe in der zuvor mindestens schon irgendwann einmal gespeicherten Datei in eine Zelle diese Formel:

=TEIL(ZELLE("Dateiname";A1);FINDEN("[";ZELLE("Dateiname";A1))+1;FINDEN("]";ZELLE("Dateiname";A1))-FINDEN("[";ZELLE("Dateiname";A1))-5)

In dieser Zelle erscheint dann der Dateiname ohne ".xls".
Diese Zelle (bzw. deren Inhalt) kannst Du dann für Deine Diagrammüberschrift abgreifen.
Gruß WernerB.
Anzeige
Ein erneutes Danke!
03.09.2003 12:19:55
Oliver S.
Hi Werner,

und nochmal schönen Dank für die Hilfe. Diese Formel hatte ich auch schon in der Recherche gefunden. Wenn ich es nicht anders hinbekomme, werde ich diese einsetzen.

MfG,
Oliver
AW: Ein erneutes Danke!
03.09.2003 12:50:45
WernerB.
Hallo Oliver,

ich hatte Deinen Beitrag leider mit einem anderen verwechselt in dem es auch um den Dateinamen ging und deshalb die Formel angegeben.
Für die VBA-Lösung habe ich diesen Vorschlag:

dName = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name)-4)
bzw.
Zieldatei.Worksheets("???").Range("A1").Value = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name)-4)
Gruß WernerB.
Anzeige
Funktioniert super, aber...
03.09.2003 15:02:15
Oliver S.
Ich bin begeistert Werner.
Genau so sollte es sein. Eine Bitte hätte ich allerdings noch. Könntest Du mir die Anweisungen, die Du mir hier hingeschrieben hast eventuell mit einfachen Worten erklären? Ich habe sie zwar in meinen Code integriert, weiß aber ehrlich gesagt nicht so ganz, was diese machen. Wäre jedenfalls super, wenn Du mir das noch erläutern würdest. Schließlich möchte ich auch irgendwan einmal bei der Leveleinstellung hier im Forum VBA gut auswählen dürfen. ;-))

Bis denne,
Oliver
AW: Funktioniert super, aber...
03.09.2003 15:21:31
WernerB.
Hallo Oliver,

nutze doch die VBA-Hilfe:
Setze im VB-Editor (Alt + F11) den Cursor auf 'Left' bzw. 'Len' und drücke dann die F1-Taste.

'ActiveWorkbook.Name' liefert den Dateinamen der gerade aktiven Datei zurück
'ThisWorkbook.Name' liefert den Dateinamen der Datei zurück, in der das Makro steht
'Left' entspricht der Excel-Funktion "=LINKS"
'Len' entspricht der Excel-Funktion "=LÄNGE"

Von der Länge (=Anzahl Zeichen des Dateinamens) werden hier noch 4 Zeichen abgezogen, deshalb erscheint dann der Dateiname ohne ".xls".
Gruß WernerB.
Anzeige
AW: Funktioniert super, aber...
03.09.2003 15:33:38
Oliver S.
Danke Dir Werner für die Erklärungen. In der VBA-Hilfe ist es für meinen Kenntnisstand manchmal etwas umständlich erklärt.

Jetzt bin ich auf jedenfall wieder etwas schlauer.

Danke Dir nochmal,
Oliver

395 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige