Debbie hat ein Arbeitsblatt mit vielen Daten. Um Daten mit den Daten zu verknüpfen, muss sie jede Zelle, die ein Datum enthält, bearbeiten und vor dem Datum ein Apostroph hinzufügen. Sie fragt sich, ob es dafür einen schnellen Weg gibt. Sie hat versucht, die Zeile hervorzuheben und als Text zu formatieren, aber das hat nicht funktioniert.

Wenn Debbie ihre manuelle Arbeit automatisieren möchte, kann dies mit einem Makro erfolgen. Im Folgenden werden die ausgewählten Zellen automatisch in Text konvertiert und das Datum wieder in die Zelle eingefügt.

Sub DateToText()

Dim cell As Range     Dim sTemp As String

For Each cell In Selection         With cell             sTemp = .Text             .NumberFormat = "@"

.Value2 = sTemp         End With     Next cell End Sub

Beachten Sie die Verwendung der Eigenschaft .Value2 anstelle der Eigenschaft .Value, wenn Sie den Text wieder in die Zelle einfügen. Dies geschieht, um sicherzustellen, dass Excel den Text nicht versehentlich wieder in einen Datumswert konvertiert. Dies sollte ohnehin nicht der Fall sein, aber die .Value2-Eigenschaft unterstützt den Datentyp „Datum“ nicht, sodass eine mögliche Konvertierung von Natur aus ausgeschlossen ist.

Sie sollten auch beachten, dass das Makro alles konvertiert, was Sie ausgewählt haben, auch wenn es kein Datum enthält. Sie sollten sicherstellen, dass Sie nur Zellen auswählen, die Datumsangaben enthalten, bevor Sie sie ausführen.

Der einfachste Weg, das zu tun, was Debbie versucht, ist natürlich die Verwendung der TEXT-Arbeitsblattfunktion. Angenommen, die Zelle A1 enthält beispielsweise ein Datum. In einer anderen Zelle wollten Sie die Wörter „Die Frist ist“ vor dem Datum setzen. Sie können dies mit einer Formel wie der folgenden tun:

="The deadline is " & TEXT(A1, "mmmm d, yyyy")

Beachten Sie, dass für die TEXT-Funktion zwei Parameter erforderlich sind: Die zu konvertierende Zelle (in diesem Fall A1) und ein für die Konvertierung zu verwendendes Muster („mmmm t, jjjj“). Wenn Zelle A1 ein Datum wie den 25.06.16 enthält, gibt die Formel Folgendes zurück:

The deadline is June 25, 2016

Das Muster, das Sie in Anführungszeichen angeben, folgt sehr genau den Mustern, die Sie zum Definieren eines benutzerdefinierten Formats für eine Zelle verwenden würden. Beispielsweise gibt „mmm“ einen dreistelligen Monatsnamen zurück, während „mmmm“

Gibt einen vollständig buchstabierten Monatsnamen zurück. Die Codes, die Sie in dem Muster verwenden würden, wurden in anderen ExcelTips behandelt. Sie können jedoch auch eine praktische Zusammenfassung der Codes finden, die den von Excel bei Wikipedia verwendeten Codes entsprechen:

https://en.wikipedia.org/wiki/Date_format_by_country

Ein interessanter Punkt in Bezug auf diesen Ansatz ist, dass es nicht wirklich darauf ankommt, wie das Datum in Zelle A1 formatiert wird. Wenn Sie TEXT verwenden, basiert es auf der zugrunde liegenden Seriennummer, die von Excel zum Speichern des Datums verwendet wird, und formatiert es dann gemäß dem von Ihnen angegebenen Muster – unabhängig von der Formatierung in der Zelle, die das Datum enthält.

Wenn Sie eine direkte Konvertierung in Text durchführen möchten, müssen Sie natürlich nichts mit dem Datum verknüpfen. In diesem Fall würden Sie nur die TEXT-Funktion selbst verwenden:

=TEXT(A1, "mmmm d, yyyy")

Die TEXT-Funktion gibt von Natur aus einen strengen Textwert zurück.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (13450) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.