Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Excel 2003, die Funktion Text(heute();"JJJJMMTT")

Excel 2003, die Funktion Text(heute();"JJJJMMTT")
23.11.2008 00:04:31
rahid
Hallo zusammen,
in Excel 2003 über die Funktion heute(), die ich als Parameter zur formatierung an die Funktion Text(heute();"JJJJMMTT") übergebe bekomme das heutige Datum in der Art formatiert "20081122".
Ich möchte in der eine zelle A1 in einer Excel-Datei namens Ergebnis.xls z.Bsp. auf die Zelle A1 in der Datei D:\test\20081122_Quelle.xls zugreifen.
In der Zelle A1 in Ergebnis.xls habe ohne Probleme folgendes versucht:
='D:\test\[20081122_Quelle.xls]sheet1'... Und es klappt!
Dann habe ich versucht das in der Dateiname enthaltene Datum 20081122 über die Funktion Text(heute();"JJJJMMTT") hineinzubekommen, damit der Wert der Zelle A1 automatisch von der heutigen Datei D:\test\20081122_Quelle.xls gezogen wird.
="'D:\test\[" & Text(heute();"JJJJMMTT") & "_Quelle.xls]sheet1'!A1"
Auf diese Art und Weise wird leider nur die Zeichenkette angezeigt: "'D:\test\[20081122_Ziel.xls]sheet1'!A1" statt des Wertes der Zelle A1 in der Datei Ergebnis.xls.
Gibt es seitens der Gemeinde irgendwelche Lösungsvorschläge. ? das (Problem) hat mich nämlich überfordert.
vielen Dank und beste Grüsse.
3ezLkhil
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel 2003, die Funktion Text(heute();"JJJJMMTT")
23.11.2008 00:16:18
Daniel
Hi
leider nein.
wenn du einen Zellbezug nicht direkt eingeben willst, sondern wie in deinem Fall mit Formeln berechnen willst, dann musst du dazu die INDIREKT-Funktion verwenden:
=Indirekt("'D:\test\[" & Text(heute();"JJJJMMTT") & "_Quelle.xls]sheet1'!A1")
Problem an der Sache ist, bei Externen Zellbezügen funktioniert INDIREKT nur, wenn die entsprechende Datei geöffnet ist, nicht aber bei geschlossenen Dateien.
Gruß, Daniel
Anzeige
AW: Excel 2003, die Funktion Text(heute();"JJJJMMTT")
23.11.2008 01:28:00
Tino
Hallo,
geht es auch über VBA?
Hier ein Beispiel für Tabelle1 und dem Calculate Event,
der Wert wird hier in Tabelle1 A1 geschrieben.
Option Explicit

Private Sub Worksheet_Calculate()
Dim strFormel As String
    
    strFormel = _
            "'D:\test\[" & Format(Date, "yyyymmdd") & _
            "_Quelle.xls]sheet1'!" & _
            Range("A1").Address(, , xlR1C1)
 'Hier für A1 
 Sheets("Tabelle1").Range("A1") = ExecuteExcel4Macro(strFormel)
End Sub


In die Zelle z. Bsp. B1 schreibst Du =Heute(), damit auch eine Berechnung ausgeführt wird.
Vorteil wäre, Du bräuchtest die Datei nicht zu öffnen. ;-)
Gruß Tino

Anzeige
AW: Excel 2003, die Funktion Text(heute();"JJJJMMTT")
23.11.2008 03:27:00
Gert
Hallo rahid,
die Rückwandlung von Text in Werte übenimmt die Funktion WERT für Zahlen
oder DATWERT wandelt ein TextDatum in eine fortlaufende Datumszahl
um.
Ebenso bitte die Funktion Zelle(Infotype;Bezug) berücksichtigen, in der auch ein
Dateipfad aufgezeichnet wird siehe "Excel-Hilfe" dazu.
Die Funktion HEUTE() beinhaltet den Nachteil, das bei jedem Aufruf der Datei
das aktuelle Datum eingetragen wird.
mfg
Gert
Anzeige
AW: Excel 2003, die Funktion Text(heute();"JJJJMMTT")
23.11.2008 08:52:00
rahid
Hallo zusammen,
besten Dank für die schnelle und vor allem hilfreiche Antworten, Euch einen schönen Sonntag
@Gert: Die Funktion HEUTE() beinhaltet den Nachteil, das bei jedem Aufruf der Datei
das aktuelle Datum eingetragen wird
Das ist mein Vorhaben, damit die Möglichkeit bestünde in einem schon vordefinierten ordner z.Bsp. D:\Test\ auf alle die darin enthaltene Excel-Dateien z.Bsp: 20081120_Quelle.xls, 20081121_Quelle.xls, 20081122_Quelle.xls, 20081123_Quelle.xls Automatisch zuzugreiffen (Das entscheidende Merkmal für den Zugriff ist das aktuelle Datum)
Gruss
3ezLkhil
Anzeige
AW: Excel 2003, die Funktion Text(heute();"JJJJMMTT")
23.11.2008 19:11:00
Gert
Hallo rahid,
danke für die Blumen.
Diese Eigenschaft von"HEUTE()" wird größtenteils nicht geliebt.
mfg
Gert
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel 2003: Nutzung der Funktion HEUTE() zur dynamischen Dateianpassung


Schritt-für-Schritt-Anleitung

  1. Verwendung der HEUTE()-Funktion: Um das heutige Datum in Excel zu erhalten, kannst du die Funktion =HEUTE() in eine Zelle eingeben. Diese gibt das aktuelle Datum im Standardformat zurück.

  2. Formatierung des Datums: Wenn du das Datum im Format "JJJJMMTT" (z.B. 20231122) haben möchtest, verwende die Funktion TEXT:

    =TEXT(HEUTE();"JJJJMMTT")
  3. Zugriff auf externe Datei: Um auf eine Zelle in einer externen Datei zuzugreifen, kannst du die INDIREKT-Funktion nutzen. Hier ist die kombinierte Formel:

    =INDIREKT("'D:\test\[" & TEXT(HEUTE();"JJJJMMTT") & "_Quelle.xls]sheet1'!A1")
  4. Achtung bei geschlossenen Dateien: Beachte, dass die INDIREKT-Funktion nur funktioniert, wenn die betreffende Datei geöffnet ist.


Häufige Fehler und Lösungen

  • Problem: Die HEUTE()-Funktion gibt nur einen Text zurück.

    • Lösung: Stelle sicher, dass du die HEUTE()-Funktion korrekt eingebaut hast. Verwende TEXT zur Formatierung des Datums.
  • Problem: INDIREKT funktioniert nicht mit geschlossenen Dateien.

    • Lösung: Du musst die Datei öffnen, um die gewünschten Daten abzurufen.
  • Problem: Formel zeigt nur den Text an.

    • Lösung: Überprüfe, ob die Syntax der INDIREKT-Funktion korrekt ist und die Datei tatsächlich existiert.

Alternative Methoden

  • VBA-Lösung: Du kannst auch VBA verwenden, um das Datum dynamisch zu verarbeiten. Hier ein einfaches Beispiel, das den Wert in Zelle A1 aktualisiert:
    Private Sub Worksheet_Calculate()
      Dim strFormel As String
      strFormel = "'D:\test\[" & Format(Date, "yyyymmdd") & "_Quelle.xls]sheet1'!" & Range("A1").Address(, , xlR1C1)
      Sheets("Tabelle1").Range("A1") = ExecuteExcel4Macro(strFormel)
    End Sub

Praktische Beispiele

  • Beispiel 1: Heute ist der 22. November 2023. Mit der Formel =TEXT(HEUTE();"JJJJMMTT") erhältst du "20231122".
  • Beispiel 2: Wenn du die oben genannte INDIREKT-Formel verwendest, wird der Zugriff auf die Datei D:\test\20231122_Quelle.xls ermöglicht, vorausgesetzt, die Datei ist geöffnet.

Tipps für Profis

  • Verwende benannte Bereiche: Um deine Formeln übersichtlicher zu gestalten, kannst du benannte Bereiche für häufig verwendete Zellen oder Bereiche erstellen.
  • Automatisierung durch VBA: Wenn du regelmäßig auf Daten in externen Dateien zugreifen musst, kann eine VBA-Lösung viel Zeit sparen und die Notwendigkeit verringern, die Dateien manuell zu öffnen.

FAQ: Häufige Fragen

1. Frage
Wie kann ich das Datum in einer Zelle formatieren, wenn die Datei geschlossen ist?
Antwort: Leider funktioniert die INDIREKT-Funktion nur mit geöffneten Dateien. Du musst die Datei öffnen, um die Daten abzurufen.

2. Frage
Kann ich die HEUTE()-Funktion in einer Zelle verwenden, ohne die Datei jedes Mal zu öffnen?
Antwort: Ja, du kannst VBA verwenden, um die Daten zu aktualisieren, ohne die Datei jedes Mal manuell öffnen zu müssen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige