Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

Betreff
Benutzer
Anzeige
AW: Zeichenkette erweitern
06.09.2011 19: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 20: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 21:14:25
Uduuh
Hallo,
anstatt strTest ="ABCDEFGHIJ"
strTest = ActiveCell
Gruß aus’m Pott
Udo

AW: Zeichenkette erweitern
07.09.2011 10: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
AW: Zeichenkette erweitern
07.09.2011 18: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 11: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 13: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 18: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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige