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

Zeichenkette erweitern

Forumthread: Zeichenkette erweitern

Zeichenkette erweitern
Sebkue
Hallo VBA-Experten,
ich versuche mich grade in die VBA-Programmierung einzuarbeiten und möchte folgendes Problem lösen.
Zeichenkette mit zehn Zeichen ########## ,soll nachdem ausführen des Makros so aussehen ###_#_##.##.##
Danke für eure Hilfe
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeichenkette erweitern
06.09.2011 21:53:05
Josef

Hallo ?,

Sub test()
  Dim strTest As String, strOut As String
  
  'Für Text
  strTest = "ABC12345DE"
  strOut = Left(strTest, 3) & "_" & Mid(strTest, 4, 1) & "_" & Mid(strTest, 5, 2) & "." & Mid(strTest, 7, 2) & "." & Right(strTest, 2)
  MsgBox strOut
  
  'Für Zahlen
  strTest = "1234567890"
  strOut = Format(strTest, "000""_""0""_""00"".""00"".""00")
  MsgBox strOut
  
End Sub



« Gruß Sepp »

Anzeige
AW: Zeichenkette erweitern
06.09.2011 22:34:26
Sebkue
Hallo Josef,
das ging aber schnell. Danke!
Kannst Du mir auch sagen, wie ich die Zeichenkette der aktuellen Zelle in dieses Format ändere?
AW: Zeichenkette erweitern
06.09.2011 23:14:25
Uduuh
Hallo,
anstatt strTest ="ABCDEFGHIJ"
strTest = ActiveCell
Gruß aus’m Pott
Udo

AW: Zeichenkette erweitern
07.09.2011 12:57:26
Sebastian
Servus Uduuh!
Jetzt möchte ich, dass die aktive Zelle auch aktive verändert wird und nicht als Ergebnis in einer MSGbox angezeigt wird.
Gruß Sebastian
Anzeige
AW: Zeichenkette erweitern
07.09.2011 20:34:42
Josef

Hallo Sebastian,

strTest = Activecell.Text
strTest = Left(strTest, 3) & "_" & Mid(strTest, 4, 1) & "_" & Mid(strTest, 5, 2) & "." & Mid( _
strTest, 7, 2) & "." & Right(strTest, 2)
ActiveCell = strTest


« Gruß Sepp »

Anzeige
AW: Zeichenkette erweitern
10.09.2011 13:49:59
Sebkue
Hat alles bestens geklappt.
Wenn ich jetzt alle Zellen einer Spalte mit diesem Makro ändern möchte, dann ist das ziemlich aufwendig.
Da für nutzt man sicherlich eine Schleife!?
Gruß Sebastian
AW: Zeichenkette erweitern
10.09.2011 15:20:44
Josef

Hallo Sebastian,
das geht z. B. so.

Sub formatieren()
  Dim vntTmp As Variant
  Dim lngIndex As Long
  
  With ActiveSheet
    vntTmp = .Range("A1:A25")
    For lngIndex = 1 To UBound(vntTmp, 1)
      If Len(vntTmp(lngIndex, 1)) = 10 Then
        vntTmp(lngIndex, 1) = Left(vntTmp(lngIndex, 1), 3) & "_" & _
          Mid(vntTmp(lngIndex, 1), 4, 1) & "_" & Mid(vntTmp(lngIndex, 1), 5, 2) & _
          "." & Mid(vntTmp(lngIndex, 1), 7, 2) & "." & Right(vntTmp(lngIndex, 1), 2)
      End If
    Next
    .Range("A1:A25") = vntTmp
  End With
End Sub



« Gruß Sepp »

Anzeige
AW: Zeichenkette erweitern
13.09.2011 20:08:51
Sebatian
Hallo Josef,
ich wollte mich nur kurz, für deine schnelle Antwort, bedanken. Du hast sogar gleich meine nächste Frage schon beantwortet. Ich wollte eigentlich wissen, wie man das Makro schreiben muss, wenn man Text mit weniger oder mehr als zehn Zeichen in der Spalte hat.
Gruß Sebastian
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18