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

Kommentarfeld - unterschiedliche Schriftfarbe

Kommentarfeld - unterschiedliche Schriftfarbe
19.11.2014 08:45:27
Werner
Hallo zusammen,
nach langer Abwesenheit habe ich mal wieder eine Frage.
Bedingt durch die Office- Umstellung von 2003 auf 2013, sind einige Anpassungsarbeiten an diversen Exceldateien nötig.
Eine Anpassung bekomme ich jedoch nicht hin und finde bisher auch online keinen Ansatz.
Problem:
Ich möchte gerne Kommentare verschiedenfarbig formatieren, was ich bislang unter Office/Excel 2003 wie folgt umgesetzt habe:
 ...
With .Comment
.Visible = False
.Text Text:=str0 & strComment & str1 & str2 & str3 & str4
With .Shape
With .TextFrame.Characters(Start:=1, Length:=Len(str0)).Font
.Name = "Arial"
.Size = 7
.Bold = False
.Underline = False
.ColorIndex = 48
End With
With .TextFrame.Characters(Start:=Len(str0), Length:=Len(strComment)).Font
.Name = "Arial"
.Size = 8
.Underline = True
.Bold = True
.ColorIndex = 0
End With
End With
End With
seit der Umstellung auf Office 2013, bricht das Makro bei der Farbzuweisung ".ColorIndex = " ab.
Diese farbliche Hervorhebung geht zwar manuell einzustellen, indem ich mit der rechten Maustaste das Kommentarfeld anklicke und dann die jeweiligen Formatierungen anpasse...
Userbild
... doch leider kann ich diese Aktionen NICHT per Makrorecorder aufzeichnen.
Userbild
Über dieses Makro laufen einige 100 Dateien, die nach Plausibilitätskontrolle teilweise Daten in diversen Zellen ändern und diese in der entsprechenden Zelle kommentieren.
Damit die Änderungen besser zu erkennen sind, würde ich diese farbliche Unterscheidung gerne auch unter Office 2013 beibehalten, finde aber keine Lösung.
Falls jemand hier einen Ansatz für mich hätte, wäre ich sehr dankbar.
Gruß
Werner Brinkmann

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

Betreff
Datum
Anwender
Anzeige
AW: Kommentarfeld - unterschiedliche Schriftfarbe
19.11.2014 13:29:38
Werner
...
ich habe zu meiner Fragestellung mal eine kleine Datei hochgeladen:
https://www.herber.de/bbs/user/93872.xlsm
In den Zellbereichen A3 - G3 habe ich dazu die Werte eingetragen, die im Echtbetrieb per Plausibilitätsprüfung ermittelt werden, hier zum Test manuell eingegeben werden können.
LG
Werner

Code gegoogelt, probiers mal aus...Gruß
19.11.2014 19:31:19
robert

Sub CommentTextFormatColour()
'adds comment then formats font colour and adds bold
'www.contextures.com/xlcomments03.html
Dim cmt As Comment
Dim str1 As String
Dim str2 As String
Dim lBreak As Long
Dim lNum1 As Long
Dim lNum2 As Long
Dim lNumLen As Long
Dim strFind As String
On Error Resume Next
str1 = "John: 20 Eggs"
str2 = "Simon: 50 Eggs"
strFind = ":"
lNumLen = 3
Set cmt = ActiveCell.Comment
If cmt Is Nothing Then
ActiveCell.AddComment _
Text:=str1 & Chr(10) & str2
Set cmt = ActiveCell.Comment
End If
'find the line break and markers
lBreak = InStr(1, cmt.Text, Chr(10))
lNum1 = InStr(1, cmt.Text, strFind) + 1
lNum2 = InStr(lBreak, cmt.Text, strFind) + 1
'format the lines of text
With cmt.Shape.TextFrame
.Characters(1, lBreak).Font.ColorIndex = 3
.Characters(lBreak + 1, Len(cmt.Text)).Font.ColorIndex = 5
End With
'add bold to numbers that follow colon
If lNum1 > 0 Then
With cmt.Shape.TextFrame
.Characters.Font.Bold = False
.Characters(lNum1, lNumLen).Font.Bold = True
.Characters(lNum2, lNumLen).Font.Bold = True
End With
End If
SendKeys "+{F2}"  'opens comment for editing
'SendKeys "%ie~"  'works with Excel 2003 menu
End Sub

Anzeige
Problem gelöst, zumindest über einen Umweg
19.11.2014 23:14:34
Werner
Hallo Robert,
danke Dir.
Dein beigefügter Programmcode lief bei mir auch, wenn ich ihn 1:1 einbaue.
Da die Character-Eigenschaft jedoch genauso eingebunden war, wie in meinem Programmcode, bin ich stutzig geworden.
Durch den bedingt funktionierenden Code bin ich dann darauf gestoßen, dass sich die Character Eigenschaften .Size und .ColorIndex nicht unmittelbar miteinander vertragen, komischerweise aber wohl in einem gesondertem, anschl. Prozess.
Userbild
Ich habe daher den funktionierenden Code einmal in dieser Beispielmappe beigefügt…
https://www.herber.de/bbs/user/93888.xlsm
...wo die Schriftgrößeneigenschaft auskommentiert wurde und in einem extra Prozess angeschoben wird. Warum ? aber es funktioniert.
Userbild
Ergebnis:
Userbild
Danke Dir daher nochmal
Gruß Werner

Anzeige
Danke f.Rückantwort und Datei ;-) owT
20.11.2014 08:21:23
robert

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige