Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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

Per VBA Buchstaben im Kommentar formatieren

Per VBA Buchstaben im Kommentar formatieren
07.04.2016 10:47:19
Klewe
Hallo Cracks,
in einer Zelle ist es möglich mit einer Schleife einzelne Buchstaben zu formatieren.
Sub SelectionChange()
Dim i As Integer
Dim x As String
x = Cells(1, 1).Text
For i = 1 To Len(x)
If Mid(x, i, 1) = "j" Or Mid(x, i, 1) = "t" Then
ActiveSheet.Cells(1, 1).Characters(i, 1).Font.Italic = msoTrue
ActiveSheet.Cells(1, 1).Characters(i, 1).Font.Color = vbGreen
Else
ActiveSheet.Cells(1, 1).Characters(i, 1).Font.Italic = msoFalse
End If
Next i
End Sub
Ist dies auch innerhalb eines Kommentars möglich?
Mit x = Cells(1, 1).Comment.Text wird der String zwar ausgelesen, aber nix passiert.

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

Betreff
Datum
Anwender
Anzeige
AW: Per VBA Buchstaben im Kommentar formatieren
07.04.2016 11:11:21
Steve
Hallo Klewe,
es passiert erstmal nichts weil du beim SelectionCange-Ereignis von seinem definierten Namen abgewichen bist. Auch hat es feste Parameter einzuhalten, auch wenn du sie nicht benötigst. Excel erkennt es dann einfach nicht mehr und denkt es sei ein normales Makro welches du selber aufzurufen hast.
Activesheet kann man vor Cells weglassen, denn er bezieht sich ohne Angabe eines Blattes immer auf das aktive Blatt.
Auf den Kommentar kann man mit Cells.Comment.Text zugreifen, jedoch verträgt er das Formatieren der Buchstaben nicht. Dazu muss man den Kommentar als Objekt (hier Shape) behandeln. Selbstverständlich die Prüfung ob ein Kommentar überhaupt vorhanden ist nicht vergessen sonst läuft dir uU. alles auf Grund.
lg Steve
Private Sub Worksheet_SelectionChange(ByVal target As Range)
Dim i As Integer
Dim Text As String
If Not Cells(1, 1).Comment Is Nothing Then
Text = Cells(1, 1).Comment.Text
For i = 1 To Len(Text)
If Mid(Text, i, 1) = "j" Or Mid(Text, i, 1) = "t" Then
Cells(1, 1).Comment.Shape.TextFrame.Characters(i, 1).Font.Italic = True
Cells(1, 1).Comment.Shape.TextFrame.Characters(i, 1).Font.Color = vbGreen
Else
Cells(1, 1).Comment.Shape.TextFrame.Characters(i, 1).Font.Italic = msoFalse
End If
Next i
End If
End Sub

Anzeige
AW: Per VBA Buchstaben im Kommentar formatieren
07.04.2016 14:35:53
Klewe
Vielen Dank Steve,
dein Code funzt super!
Mir war nicht klar, dass die Prozedur Worksheet_SelectionChange nicht in den Bereich Module gehört (dort läuft es nur als eigenständig aufgerufenes Makro), sondern unter der Auswahl Worksheet der dazugehörigen Tabelle

Dazu noch ein Tip: EreignisProzeduren legt ...
07.04.2016 11:57:19
Luc:-?
…man über die beiden AuswahlMenüs im VBEditor-Edit-Feld-Kopf an, Klewe,
dann wird auch der Standard verwendet.
Gruß, Luc :-?
Besser informiert mit …

AW: Dazu noch ein Tip: EreignisProzeduren legt ...
07.04.2016 14:40:12
Klewe
Danke Luc,
dein Hinweis hat mich auf die richtige Spur geführt!
LG
Klewe
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige