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

Forumthread: Format Uhrzeit beim kopieren beibehalten

Format Uhrzeit beim kopieren beibehalten
29.10.2016 20:53:51
Gabi
Hallo zusammen,
ich komme bei VBA nicht weiter. Ich möchte, dass bei der For-Schleife die 3. Spalte (also intCount = 3) als Uhrzeit ausgegeben wird. Hier mein bisheriger Code:
(Nur zur Info: das Ergebnis des Codes -strbody- wird dann in einer neuen

Sub als Mail ausgegeben)

Sub SearchLastUser()
Dim lngRow As Long
Dim strUser As String
Dim intCount As Integer
Dim strLastChange As String
Dim strChange As String
Dim strChangeBody As String
lngRow = Worksheets("Benutzeränderungen").Range("A65536").End(xlUp).Row
strUser = Worksheets("Benutzeränderungen").Range("A65536").End(xlUp)
Do While (Cells(lngRow, 1)) = strUser 'Auslesen der Zeilen
strChange = "" 'Inhalt wird für die nächste Schleife geleert
For intCount = 1 To 7 'Auslesen der Spalten (A bis G) (Ergänzung: Wenn das  _
Zeichenformat Uhrzeit ist, dann Werte in Uhrzeit ausgeben)
strLastChange = Worksheets("Benutzeränderungen").Cells(lngRow, intCount) & vbTab
strChange = strChange & strLastChange
Next intCount
lngRow = lngRow - 1
strChangeBody = strChangeBody & vbNewLine & strChange & vbNewLine
Loop
strbody = "Hallo du." & vbNewLine & "Die letzten Wertänderungen lauten wie folgt:" &  _
vbNewLine & strChangeBody
End Sub

bisher wird das Datum in meinem E-Mail-Inhalt so ausgegeben:
Bsp: 13:58:59 = 0,582627314814815
Kann ich das Format aus der Tabelle irgendwie beibehalten oder zumindest dann nur für die 3. Spalte ein Uhrzeitformat ausgeben lassen?
Danke schon mal für eure Hilfe.
Liebe Grüße
Gabi
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Format Uhrzeit beim kopieren beibehalten
30.10.2016 02:48:36
fcs
Hallo Gabi,
wenn du die Text-Eigenschaft der Zellen eim Auslesen verwendest, dann sollte es funktionieren.
            strLastChange = Worksheets("Benutzeränderungen").Cells(lngRow, intCount).Text &  _
vbTab

So werden die Zell-Inhalte wie in Excel angezeigt in die Variable übernommen.
Bei leeren Zellen wird "" übernommen.
LG
Franz
Anzeige
AW: Format Uhrzeit beim kopieren beibehalten
30.10.2016 09:45:27
Gabi
Hallo Franz,
vielen lieben Dank für deine Antwort. Das hat super funktioniert!
Liebe Grüße
Gabi

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Uhrzeitformat in Excel VBA beim Kopieren Beibehalten


Schritt-für-Schritt-Anleitung

Um das Uhrzeitformat beim Kopieren in VBA beizubehalten, kannst du die Text-Eigenschaft der Zellen verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du dies umsetzen kannst:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel, indem du Alt + F11 drückst.

  2. Erstelle ein neues Modul oder öffne ein bestehendes, in dem du deinen Code einfügen möchtest.

  3. Füge folgenden VBA-Code ein:

    Sub SearchLastUser()
       Dim lngRow As Long
       Dim strUser As String
       Dim intCount As Integer
       Dim strLastChange As String
       Dim strChangeBody As String
    
       lngRow = Worksheets("Benutzeränderungen").Range("A65536").End(xlUp).Row
       strUser = Worksheets("Benutzeränderungen").Range("A65536").End(xlUp)
    
       Do While (Cells(lngRow, 1)) = strUser ' Auslesen der Zeilen
           strChange = "" ' Inhalt wird für die nächste Schleife geleert
           For intCount = 1 To 7 ' Auslesen der Spalten (A bis G)
               strLastChange = Worksheets("Benutzeränderungen").Cells(lngRow, intCount).Text & vbTab
               strChange = strChange & strLastChange
           Next intCount
           lngRow = lngRow - 1
           strChangeBody = strChangeBody & vbNewLine & strChange & vbNewLine
       Loop
    
       strbody = "Hallo du." & vbNewLine & "Die letzten Wertänderungen lauten wie folgt:" & vbNewLine & strChangeBody
    End Sub
  4. Führe das Makro aus, um die Ergebnisse zu überprüfen.

Mit dieser Methode wird das Uhrzeitformat aus der Tabelle korrekt in den E-Mail-Inhalt übernommen.


Häufige Fehler und Lösungen

  • Fehler: Das Datum wird nicht im gewünschten Format angezeigt.

    • Lösung: Stelle sicher, dass du die .Text-Eigenschaft der Zellen verwendest, anstatt den Standardwert auszulesen.
  • Fehler: Die E-Mail wird ohne die gewünschten Inhalte gesendet.

    • Lösung: Überprüfe die Schleife und stelle sicher, dass die Bedingungen korrekt gesetzt sind.

Alternative Methoden

Wenn du das Uhrzeitformat nicht über VBA beibehalten kannst, gibt es alternative Methoden:

  • Formatierung in Excel: Du kannst die Zellen in Excel vor dem Kopieren manuell formatieren. Wähle die Zelle aus, gehe zu „Start“ > „Zahlenformat“ und wähle „Uhrzeit“.

  • Verwendung von Formeln: Nutze eine Formel wie TEXT(A1; "hh:mm:ss"), um die Uhrzeit in der gewünschten Form darzustellen und kopiere diese dann.


Praktische Beispiele

Angenommen, du hast in der Spalte C eine Uhrzeit wie 13:58:59 gespeichert. Der oben gezeigte VBA-Code wird diese Uhrzeit korrekt auslesen und in der E-Mail so anzeigen, wie sie in Excel formatiert ist.

Wenn du das Makro ausführst, wird die Ausgabe beispielsweise wie folgt sein:

Hallo du.
Die letzten Wertänderungen lauten wie folgt:

13:58:59  0,582627314814815

Tipps für Profis

  • Nutze die Debugging-Funktion in VBA: Setze Haltepunkte in deinem Code, um die Ausführung zu überprüfen und sicherzustellen, dass alle Werte korrekt übernommen werden.
  • Vermeide die Verwendung von .Value: Die Verwendung von .Text ist besonders wichtig, wenn du sicherstellen möchtest, dass das Format beibehalten wird.

FAQ: Häufige Fragen

1. Wie kann ich das Uhrzeitformat für andere Spalten anpassen? Du kannst den intCount-Wert anpassen und die .Text-Eigenschaft für die gewünschte Spalte verwenden.

2. Funktioniert das auch in Excel 2016? Ja, der VBA-Code funktioniert in Excel 2016 sowie in neueren Versionen. Stelle sicher, dass du die richtigen Berechtigungen für die Ausführung von Makros hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige