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

Bestimmte Zeichen aus String auslesen

Bestimmte Zeichen aus String auslesen
27.02.2023 13:10:44
Benjamin
Moin zusammen,
ich hätte mal wieder eine relativ komplizierte Frage...
Zum Kontext: Es soll die Verfügbarkeit von Geräten ausgelesen werden und in einem String abgespeichert werden, der dann in einer anderen Datei notiert wird. Das funktioniert soweit auch alles, ich hätte jetzt nur eine Frage zur Formatierung des Textes: es sollen bestimmte Zeichen innerhalb dieses Strings hochgestellt werden (Font.Superscript), nämlich alle "I"s und alle Kommas. Jetzt die Frage: Wie finde ich bei variabler String-Länge und bei variabler Position dieser Zeichen innerhalb des Strings alle Zeichen "I" und ","?
Nochmal zur Veranschaulichung, kursiv = hochgestellt:
"Gerät 1 23I,III 34" soll werden zu "Gerät 1 23I,III 34"
"Gerät 2I 28II 45 38I,III 21 85II" soll werden zu "Gerät 2I 28II 45 38I,III 21 85II"
Ich hoffe man versteht, was ich meine. Es geht mir ausschließlich um die variable, teilweise Formatierung des Strings beim Schreiben in eine neue Zelle.
Danke schon einmal und liebe Grüße
Benjamin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Zeichen aus String auslesen
27.02.2023 13:34:03
ChrisL
Hi
Sub t()
Dim strInput As String, i As Integer
strInput = "Gerät 2I 28II 45 38I,III 21 85II"
With Range("A1")
    .Value = strInput
    For i = 1 To Len(strInput)
        If Mid(strInput, i, 1) = "I" Or Mid(strInput, i, 1) = "," Then .Characters(Start:=i, Length:=1).Font.Italic = True
    Next i
End With
End Sub
cu
Chris
AW: Bestimmte Zeichen aus String auslesen
27.02.2023 14:01:29
ChrisL
* Italic = Superscript
ich hätte richtig lesen sollen ;)
AW: Bestimmte Zeichen aus String auslesen
27.02.2023 13:54:54
UweD
Hallo
Angenommen die Texte stehen in Spalte A
Sub Hochstellen()
    Dim SP As Integer, Zelle As Range, Anz As Integer, Arr, X, Pos As Integer, i As Integer
    SP = 1 'Texte stehen in A
    Arr = Array("I", ",")
    
    On Error Resume Next
    For Each Zelle In Columns(SP).SpecialCells(xlCellTypeConstants, 2) ' Nur Zellen mit Text auswerten
        On Error GoTo 0
        If Zelle Is Nothing Then Exit Sub 'Kein Text vorhanden
        
        For X = LBound(Arr) To UBound(Arr) 'Schleife für die unterschiedlichen Suchzeichen
            Anz = Len(Zelle) - Len(Replace(Zelle, Arr(X), "")) 'Anzahl der vorhandenen Suchzeichen
            For i = 1 To Anz
                Pos = InStr(Pos + 1, Zelle, Arr(X)) 'Position des Suchzeichens
                Zelle.Characters(Start:=Pos, Length:=1).Font.Superscript = True
            Next
            Pos = 0
        Next
    Next
        
End Sub
LG UweD
Anzeige
AW: Bestimmte Zeichen aus String auslesen
27.02.2023 15:54:10
Benjamin
Danke für die Vorschlage, ich kann es aktuell nicht testen aber das sieht gut aus! Ich gebe euch zeitig Rückmeldung :)
AW: Bestimmte Zeichen aus String auslesen
28.02.2023 11:31:43
Benjamin
Moin zusammen,
das Makro funktioniert einwandfrei, klasse Lösung! Danke nochmal und Gruß
Danke für die Rückmeldung (owT)
01.03.2023 14:00:29
UweD

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige