Sie wollen bestimmte Teile Ihrer Zellen in #Excel #fett #formatieren? Per #VBA?
Das Beispiel hier sollte Ihnen dabei gut helfen: es macht den ganzen Text innerhalb der mit eckigen Klammern gekennzeichneten Bereiche fett und entfernt die Klammern auch gleich.
Sub Brackets_Bold() Dim myCell As Range Dim myTxt As Variant Dim myLen As Long Dim StartPos As Long Dim EndPos As Long For Each myCell In ActiveWorkbook.ActiveSheet.UsedRange.Cells EndPos = 1 StartPos = InStr(EndPos, myCell.Text, "[") While StartPos <> 0 If Left(myCell.Formula, 1) <> "=" Then myCell.Characters(Start:=StartPos, Length:=1).Delete EndPos = InStr(StartPos, myCell.Text, "]") StartPos = StartPos If EndPos = 0 Then EndPos = Len(myCell.txt) Else myCell.Characters(Start:=EndPos, Length:=1).Delete EndPos = EndPos - 1 End If With myCell.Characters(Start:=StartPos, Length:=EndPos - StartPos + 1).Font .Bold = True End With StartPos = InStr(EndPos + 1, myCell.Text, "[") Else StartPos = 0 End If Wend Next myCell End Sub
Anwendungsfall? Sie generieren einen Haufen Informationen mit Formeln, kennzeichnen das, was fett werden soll, mit Klammern, kopieren dann das Ergebnis für den endgültigen Bericht in ein neues Blatt und lassen das Makro drüberlaufen.
Die Aussicht auf morgen: eine Lösung für den Fall, dass Sie Zellen mit einer Textlänge über 255 Zeichen haben. Da weigert sich nämlich die .Delete-Methode.