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

Forumthread: Zeichen an bestimmter Stelle einer Zelle einfügen

Zeichen an bestimmter Stelle einer Zelle einfügen
08.04.2013 16:56:10
Horst
Halli Hallo,
über einen Umweg habe ich aus einer in einer Zelle stehenden Datumsangabe Wochentag, Datum und Zeit gemacht. Brauchen tue ich jedoch nur das Datum, sodass ich die einzelnen Teile in eine neue Zelle schreiben lasse. Problem ist, dass das Datum wie folgt ausschaut:
9Jan2008
Wie schaffe ich es, dass es dieses Format erhält: 9. Jan 2008?
Wie kann ich zudem aus der Formel den Bezug zu meinen 'Hilfszellen' entfernen, sprich aus Formel mach Text oder Datum, sodass ich im Nachgang meine Hilfszeilen löschen kann?

  • Range("A3").Select
    Selection.Copy
    Range("AR3").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    If a * 10 Then
    Selection.TextToColumns Destination:=Range("AR3"), DataType:=xlFixedWidth, _
    FieldInfo:=Array(Array(0, 1), Array(3, 1), Array(7, 1), Array(9, 1), Array(18, 1)), _
    TrailingMinusNumbers:=True
    Else
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("AR3"), DataType:=xlFixedWidth, _
    FieldInfo:=Array(Array(0, 1), Array(3, 1), Array(7, 1), Array(10, 1), Array(19, 1)), _
    TrailingMinusNumbers:=True
    End If
    Range("AR3:AV3").Select
    Range("A2").Select
    ActiveCell.FormulaR1C1 = "=CONCATENATE(R[1]C[45],R[1]C[44],R[1]C[47])"
    Selection.NumberFormat = "@"

  • Zur Erklärung: a bezieht sich darauf ob der Tag ein- oder zweistellig ist. Ich habe versucht Punkt sowie Leerzeichen in Concatenate mit einzubinden, jedoch war dies nicht von Erfolg gekrönt. Für * steht ein kleiner als, anders kann ich meine Frage nicht abschicken.
    Vielen Dank für eure Hilfe!

    Anzeige

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zeichen an bestimmter Stelle einer Zelle einfügen
    08.04.2013 18:29:29
    Tino
    Hallo,
    weis nicht ob ich dich verstanden habe.
    Sub test()
    Dim sText$, n%, ArValue(2), Datum As Date
    
    sText = Range("A3")
    
    For n = 1 To Len(sText)
        If Not IsNumeric(Mid(sText, n, 1)) Then Exit For
    Next n
    ArValue(0) = Mid(sText, 1, n - 1) 'Tag 
    ArValue(2) = Right$(sText, 4) 'Jahr 
    ArValue(1) = Mid(sText, n, Len(sText) - n - 4 + 1) 'Monat 
    sText = Join(ArValue, ".")
    If IsDate(sText) Then
        Datum = CDate(sText)
    End If
    
    Range("A2").NumberFormat = "d. mmm yyyy"
    Range("A2") = Datum
    End Sub
    
    Ergebnis sieht so aus.
     A
    29. Jan 2008
    39Jan2008

    Gruß Tino

    Anzeige
    AW: Zeichen an bestimmter Stelle einer Zelle einfügen
    08.04.2013 21:22:15
    Tino
    Hallo,
    bei -4 + 1 kannst natürlich gleich -3 schreiben.
    Gruß Tino

    AW: Zeichen an bestimmter Stelle einer Zelle einfügen
    09.04.2013 09:00:47
    Horst
    Tino,
    sieht richtig gut aus! Vielen lieben Dank. Das einzige ist, dass ich den Code nicht recht nachvollziehen kann, würdest du diesen noch (ganz) kurz kommentieren, sodass sich ein Lerneffekt einstellt? Dankeschön!

    Anzeige
    AW: Zeichen an bestimmter Stelle einer Zelle einfügen
    09.04.2013 16:24:48
    Tino
    Hallo,
    habe Kommentare hinzugeschrieben.
    Sub test()
    Dim sText$, n%, ArValue(2), Datum As Date
    
    'Quelle, evtl. mit Tabelle ergänzen z.Bsp. Sheets("Tabelle2").Range("A3") 
    sText = Range("A3")
    'Schleife bis zur ersten Nicht-Zahl, n hat dann die position 
    For n = 1 To Len(sText)
        If Not IsNumeric(Mid(sText, n, 1)) Then Exit For
    Next n
    'String entsprechend aufteilen und in Array sortieren 
    ArValue(0) = Mid(sText, 1, n - 1) 'Tag (hier könnte man auch mit Left(...) arbeiten 
    ArValue(2) = Right$(sText, 4) 'Jahr 
    ArValue(1) = Mid(sText, n, Len(sText) - n - 4 + 1) 'Monat 
    'Array zu einen String Formatieren mit Punkt als Trennzeichen 
    sText = Join(ArValue, ".")
    'Prüfen ob String ein umwandelbares Datumsformat enthält 
    If IsDate(sText) Then
        Datum = CDate(sText) 'String in Datum wandeln 
    End If
    'Ausgabezelle Formatieren 
    Range("A2").NumberFormat = "d. mmm yyyy"
    'Datum in Zelle schreiben 
    Range("A2") = Datum
    End Sub
    
    Gruß Tino
    Anzeige
    ;

    Forumthreads zu verwandten Themen

    Anzeige
    Anzeige
    Anzeige
    Entdecke relevante Threads

    Schau dir verwandte Threads basierend auf dem aktuellen Thema an

    Alle relevanten Threads mit Inhaltsvorschau entdecken
    Anzeige
    Anzeige

    Infobox / Tutorial

    Zeichen an bestimmter Stelle einer Zelle einfügen


    Schritt-für-Schritt-Anleitung

    Um in Excel ein Zeichen an einer bestimmten Stelle in einer Zelle einzufügen, kannst du die folgende VBA-Methode verwenden. Diese Anleitung basiert auf einem Beispiel, bei dem ein Datum im Format "9Jan2008" in "9. Jan 2008" umgewandelt wird.

    1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

    2. Füge ein neues Modul hinzu: Klicke auf Einfügen > Modul.

    3. Kopiere den folgenden Code in das Modul:

      Sub test()
         Dim sText As String, n As Integer, ArValue(2), Datum As Date
         sText = Range("A3").Value
      
         For n = 1 To Len(sText)
             If Not IsNumeric(Mid(sText, n, 1)) Then Exit For
         Next n
      
         ArValue(0) = Mid(sText, 1, n - 1) ' Tag
         ArValue(2) = Right$(sText, 4) ' Jahr
         ArValue(1) = Mid(sText, n, Len(sText) - n - 4 + 1) ' Monat
      
         sText = Join(ArValue, ".")
         If IsDate(sText) Then
             Datum = CDate(sText)
         End If
      
         Range("A2").NumberFormat = "d. mmm yyyy"
         Range("A2").Value = Datum
      End Sub
    4. Schließe den VBA-Editor und gehe zurück zu Excel.

    5. Führe das Makro aus: Drücke ALT + F8, wähle test und klicke auf Ausführen.

    Jetzt sollte das Datum in der Zelle A2 korrekt formatiert sein.


    Häufige Fehler und Lösungen

    • Fehler: Das Datum wird nicht korrekt umgewandelt.

      • Lösung: Überprüfe, ob der Text in der Zelle A3 im richtigen Format vorliegt. Es muss ohne Leerzeichen oder zusätzliche Zeichen sein.
    • Fehler: Der Code führt zu einem Laufzeitfehler.

      • Lösung: Stelle sicher, dass die Zelle A3 einen gültigen Wert enthält und dass der Code im richtigen Modul eingefügt wurde.

    Alternative Methoden

    Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch die folgende Excel-Formel nutzen, um Zeichen an einer bestimmten Stelle einzufügen:

    =TEXT(DATUM(2008;1;9);"d. mmm yyyy")

    Diese Methode ist jedoch weniger flexibel als die VBA-Lösung, da sie statische Werte verwendet.


    Praktische Beispiele

    Hier sind einige Beispiele, wie du Zeichen an bestimmten Stellen in Excel einfügen kannst:

    1. Excel Zahl einfügen an bestimmter Stelle:

      • Wenn du in einer Zelle "123456" hast und "3" nach der zweiten Ziffer einfügen möchtest, könntest du Folgendes tun:
        =LINKS(A1;2) & "3" & RECHTS(A1;LÄNGE(A1)-2)
    2. Excel Punkt an bestimmter Stelle einfügen:

      • Um in "20232023" einen Punkt zwischen den Jahren einzufügen:
        =LINKS(A1;4) & "." & RECHTS(A1;4)

    Tipps für Profis

    • Nutze den MID-Befehl, um gezielt Zeichen in einer Zelle zu bearbeiten.
    • Experimentiere mit der TEXT-Funktion, um verschiedene Formatierungen für deine Daten zu erhalten.
    • Wenn du oft Zeichen an bestimmten Stellen einfügen musst, erwäge, das VBA-Skript in deine Arbeitsmappe zu integrieren, um es jederzeit leicht aufzurufen.

    FAQ: Häufige Fragen

    1. Wie kann ich Zeichen an einer bestimmten Stelle einer Zelle einfügen, ohne VBA zu verwenden? Du kannst die TEXT- und LINKS-Funktionen in Kombination nutzen, um dies zu erreichen, wie im Beispiel gezeigt.

    2. Welche Excel-Version benötige ich für VBA? VBA ist in allen modernen Excel-Versionen (Excel 2007 und höher) verfügbar. Achte jedoch darauf, dass die Makros aktiviert sind.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige