Informationen und Beispiele zum Thema Frame | |
---|---|
![]() |
Frame-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: Textfarbe in Kommentar mit VBA ändern?
von: Kasimir
Geschrieben am: 14.01.2010 13:59:43
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
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Hajo_Zi
Geschrieben am: 14.01.2010 14:05:14
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 SubSub Kommentar_kopieren()
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Kasimir
Geschrieben am: 14.01.2010 14:08:22
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
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Kasimir
Geschrieben am: 14.01.2010 14:11:06
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
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Luschi
Geschrieben am: 14.01.2010 14:09:27
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 = NothingGruß von Luschi
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Kasimir
Geschrieben am: 14.01.2010 14:16:39
Hallo,
danke Luschi, Deine Antwort bringt mich erst mal weiter. Bei weiteren Fragen melde ich mich nochmal.
Gruß,
Kasimir
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Kasimir
Geschrieben am: 14.01.2010 14:45:19
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 SubLeider erhalte ich beim Formatieren, also in der Zeile " .Characters(1, 30).Font.ColorIndex = 7" der Schriftfarbe einen Laufzeitfehler, der die Meldung
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Luschi
Geschrieben am: 14.01.2010 15:35:24
Hallo Kasimir,
so klappt es bei mir: https://www.herber.de/bbs/user/67223.xls
Gruß von Luschi
aus klein-Paris
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Kasimir
Geschrieben am: 14.01.2010 19:00:30
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
Betrifft: AW: Textfarbe in Kommentar mit VBA ändern?
von: Luschi
Geschrieben am: 15.01.2010 09:53:34
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