In einer Zelle in einer Excel-Tabelle habe ich einen Datumswert wie:
01/01/2010 14:30:00
Ich möchte dieses Datum in Text konvertieren und möchte, dass der Text genau wie Datum aussieht. Ein Date-Wert von 01/01/2010 14:30:00
sollte also wie 01/01/2010 14:30:00
aussehen, aber intern sollte er Text sein.
Wie kann ich das in Excel machen?
=TEXT(A1,"DD/MM/YYYY hh:mm:ss")
(24 Stunden)
=TEXT(A1,"DD/MM/YYYY hh:mm:ss AM/PM")
(Normalzeit)
Hier ist ein VBA-Ansatz:
Sub change()
toText Sheets(1).Range("A1:F20")
End Sub
Sub toText(target As Range)
Dim cell As Range
For Each cell In target
cell.Value = cell.Text
cell.NumberFormat = "@"
Next cell
End Sub
Wenn Sie nach einer Lösung ohne Programmierung suchen, sollte die Frage an SuperUser verschoben werden.
Hier ist eine weitere Option. Verwenden Sie den in Excel eingebauten Assistenten "Text to Columns". Es befindet sich in Excel 2007 auf der Registerkarte Daten.
Wenn Sie eine Spalte ausgewählt haben, sollten die Standardeinstellungen für Dateityp und Trennzeichen funktionieren. Dann werden Sie aufgefordert, das Datenformat der Spalte zu ändern. Durch die Auswahl von Text wird das Textformat erzwungen, um sicherzustellen, dass es nicht als Datum gespeichert wird.
In einigen Kontexten funktioniert die Verwendung eines 'Zeichens zuvor, aber wenn Sie in CSV speichern und erneut laden, ist dies nicht möglich.
'01/01/2010 14:30:00
Die TEXT () - Formel konnte nicht funktionieren
Die einfachste Lösung bestand darin, das Einfügen in den Editor und wieder in Excel zu kopieren, wobei die Spalte auf Text gesetzt war, bevor Sie sie wieder einfügen
Oder Sie können dasselbe mit einer Formel wie dieser tun
=DAY(A2)&"/"&MONTH(A2)&"/"&YEAR(A2)& " "&HOUR(B2)&":"&MINUTE(B2)&":"&SECOND(B2)
Wenn Sie keine Programmierung verwenden, gehen Sie wie folgt vor: (1) Wählen Sie die Spalte (2) aus. Klicken Sie mit der rechten Maustaste, und wählen Sie Zellen formatieren Aus. (3) Wählen Sie "Benutzerdefiniert" (4) "Just Under". Typ: "Typ tt/mm/jjjj hh: mm: ss
Ich habe keine Ahnung vom Jahr der Veröffentlichung der Frage; es könnte jetzt alt sein. Ich erwarte also, dass meine Antwort nach meinem Beitrag eher eine Referenz für zukünftig ähnliche Fragen sein wird.
Ich weiß nicht, ob irgendjemand da draußen schon eine ähnliche Antwort gegeben hat wie ich, die ich jetzt geben werde, was dazu führen könnte, dass ich die einfachste, direkteste und effektivste bin: Wenn jemand sie bereits gegeben hat, entschuldige ich mich aber ich habe es nicht gesehen. Hier meine Antwort mit CStr anstelle von TEXT:
Die Zelle A1 enthält ein Datum und den VBA-Code:
Dim strDate As String 'Convert to string the value contained in A1 (a date) strDate = CStr([A1].Value)
Danach können Sie es mit den String-Funktionen (MID, LINKS, RECHTS, LEN, CONCATENATE (&) usw.) als normale Zeichenfolge bearbeiten.
In Excel 2010 funktionierte Margs Antwort nur für einige Daten, die ich in meiner Tabelle hatte (es wurde importiert). Die folgende Lösung funktionierte mit allen Daten.
Sub change()
toText Selection
End Sub
Sub toText(target As range)
Dim cell As range
Dim txt As String
For Each cell In target
txt = cell.text
cell.NumberFormat = "@"
cell.Value2 = txt
Next cell
End Sub