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

Textfarbe in Kommentar mit VBA ändern? | Herbers Excel-Forum

Textfarbe in Kommentar mit VBA ändern?
14.01.2010 13:59:43
Kasimir

Hallo Leute,
wie aus der Überschrift ja ersichtlich, möchte ich per VBA Texte in einem Kommentarfeld formatieren. Vorrangig möchte ich die Texte farblich verändern. Leider zeichnet mir der Makrorecorder dies nicht auf. Geht das trotzdem?
Danke und Gruß,
Kasimir

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfarbe in Kommentar mit VBA ändern?
14.01.2010 14:05:14
Hajo_Zi
Hallo Kasimir,
hier mal alles aus meinem Archiv was ich zu Kommentar habe, da findest Du bestimmt was.
Excel Zellen Kommentar Eigenschaften
ob und wie man die Eigenschaften dauerhaft umstellen kann, weiß ich nicht. Ich helfe mir immer mit folgendem Makro, das alle Kommentare auf allen Arbeitsblättern der aktiven Arbeitsmappe auf einmal nach meinem Geschmack formatiert:
Sub Kommentar_Font()
Dim Cell As Range
For Each Cell In Cells.SpecialCells(xlCellTypeComments)
With Cell.Comment.Shape.TextFrame.Characters.Font
.Size = 100
.Bold = True
.ColorIndex = 3
.FontStyle = "Arial"
End With
Cell.Comment.Shape.Fill.ForeColor.SchemeColor = 32 ‘ Hintergrundfarbe
Next
End Sub
Oder noch größer
Sub Kommentar_Font_14_AutoSize()
Dim Cell As Range
For Each Cell In Cells.SpecialCells(xlCellTypeComments)
With Cell.Comment.Shape.TextFrame
.Characters.Font.Name = "Comic Sans MS"
.Characters.Font.Size = 14
.Characters.Font.Bold = False
.AutoSize = True
End With
Next
End Sub
Von Heri
Sub Kommentar_eingeben()
’ Es sind noch keine Kommentare vorhanden
‘ Ansonsten Error
Dim I As Integer
‘ On Error Resume Next
‚ vorhandener Kommentar wird entfernt
For I = 106 To 161
With Cells(I, 6)
.AddComment
.Comment.Visible = False ‚ Kommentar sollen ausgeblendet sein
.Comment.Text Text:=CStr(Cells(I, 7))
With .Comment.Shape
.ScaleWidth 4.24, msoFalse, msoScaleFromTopLeft
.ScaleHeight 0.51, msoFalse, msoScaleFromTopLeft
With .TextFrame.Characters
.Font.Size = 18
.Font.Name = « Comic Sans MS »
.Font.Bold = True
End With
End With
End With
Next I
End Sub
Option Explicit
Dim oldtarget As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Range(oldtarget).Comment.Visible = False
oldtarget = Target.Address
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
With Range(Target.Address)
.Comment.Delete
.AddComment
.Comment.Visible = True
.Comment.Text Text:=Target.Value
End With
End Sub
Sub Kommentar_kopieren()
Dim RaZelle As Range
For Each RaZelle In Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeComments)
With Worksheets("Tabelle2").Range(RaZelle.Address)
.AddComment ' Neuer Kommentar
.Comment.Visible = False ' nicht sichtbar
.Comment.Text Text:=RaZelle.Comment.Text
End With
Next RaZelle
End Sub Sub Kommentar_auslesen()
Dim RaZelle As Range
Dim LoI As Long
For Each RaZelle In Worksheets("Tabelle1").Cells.SpecialCells(xlCellTypeComments)
With Worksheets("Tabelle2")
.Cells(LoI + 1, 1) = RaZelle.Address
.Cells(LoI + 1, 2) = RaZelle.Comment.Text
LoI = LoI + 1
End With
Next RaZelle
End Sub Sub Kommgoesse2()
Dim com As Comment
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each com In ws.Comments
With com
.Shape.TextFrame.AutoSize = True
.Shape.Fill.ForeColor.SchemeColor = 3
With .Shape.TextFrame.Characters.Font
.Name = "Arial"
.Size = 6
.Bold = True
.ColorIndex = 3
End With
End With
Next
Next
End Sub
Anzeige
AW: Textfarbe in Kommentar mit VBA ändern?
14.01.2010 14:08:22
Kasimir
Hallo,
ich nochmal. Was ich vergessen hatte zu erwähnen, in dem Kommentarfeld stehen mehrere Namen und jeder Name soll eine andere Farbe erhalten, weil das Kommentarfeld eine Legende werden soll.
Beispiel Text in Kommentarfeld
Legende:
Hans
Otto
Klaus
Dann soll das Wort Legende z.B. in schwarz, der Name Hans z.B. in blau, der Name Otto z.B. in grün und der Name Klaus z.B. in pink erscheinen. Geht das?
Danke und Gruß,
Kasimir
AW: Textfarbe in Kommentar mit VBA ändern?
14.01.2010 14:11:06
Kasimir
Hallo Hajo,
danke Dir für Deine Antowrt. Leider hatte ich ziemlich zeitgleich mit Deiner Antwort noch etwas zu meiner Frage hinzugefügt. Nach dem Durchschauen Deiner Antwort sieht das alles so aus, dass ich den gesamten Text damit farblich ändern kann. Ich benötige das allerdings nach folgendem Schema
Beispiel Text in Kommentarfeld
Legende:
Hans
Otto
Klaus
Dann soll das Wort Legende z.B. in schwarz, der Name Hans z.B. in blau, der Name Otto z.B. in grün und der Name Klaus z.B. in pink erscheinen. Geht das?
Gruß,
Kasimir
Anzeige
AW: Textfarbe in Kommentar mit VBA ändern?
14.01.2010 14:09:27
Luschi
Hallo Kasimir,
so mache ich das:

Dim ws As Worksheet, rg As Range, shp As Shape
Set ws = ActiveSheet
Set rg = ws.Range("A25")
Set shp = rg.Comment.Shape
With shp
'Breite des Kommentars
.ScaleWidth 4, msoFalse, msoScaleFromTopLeft
'Höhe des Kommentars
.ScaleHeight 0.8, msoFalse, msoScaleFromTopLeft
With .TextFrame
'die ersten 30 Zeichen formatieren
.Characters(1, 30).Font.Size = 10
.Characters(1, 30).Font.ColorIndex = 7
.Characters(1, 30).Font.Underline = xlUnderlineStyleSingle
End With
End With
Set shp = Nothing
Set rg = Nothing
Set ws = Nothing
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Textfarbe in Kommentar mit VBA ändern?
14.01.2010 14:16:39
Kasimir
Hallo,
danke Luschi, Deine Antwort bringt mich erst mal weiter. Bei weiteren Fragen melde ich mich nochmal.
Gruß,
Kasimir
AW: Textfarbe in Kommentar mit VBA ändern?
14.01.2010 14:45:19
Kasimir
HAllo,
so, nun bin ich doch nochmal da. Ich habe mir nun nachfolgendes Makro erstellt.
Option Explicit
Sub Test()
Dim strMitarbeiter1 As String
Dim strMitarbeiter2 As String
Dim strMitarbeiter3 As String
Dim strMitarbeiter4 As String
Dim strMitarbeiter5 As String
Dim strKommentartext As String
strMitarbeiter1 = Range("I1")
strMitarbeiter2 = Range("I2")
strMitarbeiter3 = Range("I3")
strMitarbeiter4 = Range("I4")
strMitarbeiter5 = Range("I5")
If strMitarbeiter1 <> "" Then strKommentartext = "Mitarbeiter: " & strMitarbeiter1
If strMitarbeiter2 <> "" Then strKommentartext = strKommentartext & vbLf & "Mitarbeiter: " &  _
strMitarbeiter2
If strMitarbeiter3 <> "" Then strKommentartext = strKommentartext & vbLf & "Mitarbeiter: " &  _
strMitarbeiter3
If strMitarbeiter4 <> "" Then strKommentartext = strKommentartext & vbLf & "Mitarbeiter: " &  _
strMitarbeiter4
If strMitarbeiter5 <> "" Then strKommentartext = strKommentartext & vbLf & "Mitarbeiter: " &  _
strMitarbeiter5
On Error Resume Next
With Range("A1")
'Kommentar löschen
.ClearComments
On Error GoTo 0
'Neuen kommenta einfügen
.AddComment
'Text in kommentafeld einfügen
.Comment.Text Text:=strKommentartext
'Kommentarfeld formatieren
With .Comment.Shape
With .TextFrame
'die ersten 30 Zeichen formatieren
.Characters(1, 30).Font.Size = 12
.Characters(1, 30).Font.ColorIndex = 7
End With
End With
End With
End Sub
Leider erhalte ich beim Formatieren, also in der Zeile " .Characters(1, 30).Font.ColorIndex = 7" der Schriftfarbe einen Laufzeitfehler, der die Meldung
Schriftgrad muss zwischen 1 und 409 Punkten liegen
ausgibt. Leider kann ich damit nichts anfangen. Woran kann das nun liegen?
Danke und Gruß,
Kasimir
Anzeige
AW: Textfarbe in Kommentar mit VBA ändern?
14.01.2010 19:00:30
Kasimir
Hallo Luschi,
danke Dir für Deine Mühe. Leider bringt Deine Beispieldatei bei mir einen Fehler und funktioniert nicht. Wobei mich ehrlich gesagt mehr interessieren würde, was die Meldung
Schriftgrad muss zwischen 1 und 409 Punkten liegen
zu sagen hat und warum diese auftritt? Denn es wird doch angegeben, dass ab dem 1. Zeichen für 30 Zeichen der Text die Farbe annehmen soll. Warum dann diese Meldung?
Danke und Gruß,
Kasimir
Anzeige
AW: Textfarbe in Kommentar mit VBA ändern?
15.01.2010 09:53:34
Luschi
Hallo Kasimir,
welches SP (Service Pack) ist denn auf Deinem PC (Excel 2003) installiert.
Bei mir klappt das wunderbar.
Gruß von Luschi
aus klein-Paris

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige