Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1236to1240
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

Kommentar Formatierung

Kommentar Formatierung
Markus
Hallo zusammen
Ich brauche wieder eure Hilfe:
Mein Vorhaben:
Sobald in der Spalte E ein O (wie Offen (Gross oder Kleingeschrieben) eingetragen wird, muss sich der Kommentar-Editor öffnen.
Das aktuelle Datum konnte ich auch mit "Müh und Not" integrieren. Soweit so Gut ...
Jetzt habe ich folgende Anliegen:
- Wie kann man den Benutzer (Environ("Username")) Fett darstellen ? (Arial 10 Fett)
- Das Datum sollte Kursiv sein. (Arial 10 kursiv)
- Die "Chr(10)" sind mit Absicht = Neue Zeile
- Der Kommentar-Editor sollte für die Eingabe bereits sein (mit Arial 10 Standart)
Nach langem Suchen im Archiv konnte ich folgenden folgenden Code "zusammenbasteln":
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, [E3:E1048576]) Is Nothing Then Exit Sub
On Error Resume Next
With Target
If .Value = "O" Then
.AddComment
.Comment.Text Environ("Username") & Chr(10) & Format(Date, "DD.MM.YYYY") & ":" & Chr(10)
Dim coKommentar As Comment
For Each coKommentar In ActiveSheet.Comments
coKommentar.Shape.TextFrame.Characters.Font.Name = "Arial"
coKommentar.Shape.DrawingObject.Font.Size = 10
coKommentar.Shape.Fill.Solid
coKommentar.Shape.Fill.ForeColor.RGB = RGB(192, 192, 192)
coKommentar.Shape.Fill.Transparency = 0#
coKommentar.Shape.Line.Weight = 0.75
coKommentar.Shape.Line.DashStyle = msoLineSquareDot
coKommentar.Shape.Line.Style = msoLineSingle
coKommentar.Shape.Line.Transparency = 0#
coKommentar.Shape.Line.Visible = msoTrue
coKommentar.Shape.Line.ForeColor.RGB = RGB(0, 0, 0)
coKommentar.Shape.Line.BackColor.RGB = RGB(255, 255, 255)
Next coKommentar
End If
End With
End Sub
Mir ist noch aufgefallen, beim öffnen des Editors ist er am Anfang kurz gelb, danach ändert er sich aber wie vorgesehen auf grau.
Wie muss man den Code anpassen, dass es stimmt?
Hoffentlich kann mir jemand helfen.
Gruss Markus

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

Betreff
Benutzer
Anzeige
AW: Kommentar Formatierung ... Nachtrag
19.11.2011 00:11:05
Markus
Hallo Zusammen
Der Code ist mit einem selbstgemachten Makro und div. gesuchten VBA-Code aus diesem Forum zusammengestellt.
Gruss Markus
AW: Kommentar Formatierung ... Nachtrag
19.11.2011 14:27:36
Christian
Hallo Markus,
Ein Bsp:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Sh.Cells(3, 5).Resize(Sh.Rows.Count - 2)) Is Nothing Then Exit Sub
Dim cmt As Comment
Dim strCmt As String
Dim lngTxt As Long
With Target
If .Value = "O" Then
strCmt = Environ("Username") & Chr(10) & Format(Date, "DD.MM.YYYY") & ":" & Chr(10)
lngTxt = Len(Environ("Username"))
If Not .Comment Is Nothing Then .Comment.Delete     'alten Kommentar löschen
Set cmt = .AddComment(strCmt)
With cmt.Shape.Fill
.Solid
.ForeColor.RGB = RGB(191, 191, 191)
.Transparency = 0#
End With
With cmt.Shape.TextFrame.Characters.Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
With cmt.Shape.TextFrame
.Characters(Start:=1, Length:=lngTxt).Font.FontStyle = "Fett"
.Characters(Start:=lngTxt + 2, Length:=11).Font.FontStyle = "Kursiv"
End With
End If
End With
Set cmt = Nothing
End Sub
es macht keinen Sinn, bei jedem Change alle Kommentare neu zu formatieren.
Gruß
Christian
Anzeige
AW: Kommentar Formatierung ... Nachtrag
19.11.2011 15:30:24
Markus
Hallo Christian
Könnte man den Code noch so anpassen, so dass das Kommentar-Eingabefeld offen bleibt und bereit für eine Eingabe ist?
Mein Vorhaben ist, sobald ein User in dieser Spalte ein O reinschreibt, sollte sich automatisch der Kommentar-Editor öffnen und bereit für eine Eingabe sein.
Die Formatierung ist auf jedenfall genau wie ich es mir vorgestellt habe :-)
Gruss Markus
AW: Kommentar wird jetzt angezeigt
19.11.2011 17:56:13
Markus
Hallo zusammen
Der Kommentar wird jetzt automatisch eingeblendet.
cmt.Visible = True ' Kommentar einblenden
Wie bringe ich es fertig, dass der Kommentar auch für die Eingabe aktiviert ist?
Option Explicit

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Sh.Cells(3, 5).Resize(Sh.Rows.Count - 2)) Is Nothing Then Exit Sub
Dim cmt As Comment
Dim strCmt As String
Dim lngTxt As Long
With Target
If .Value = "O" Then
strCmt = Environ("Username") & Chr(10) & Format(Date, "DD.MM.YYYY") & ":" & Chr(10) _
lngTxt = Len(Environ("Username"))
If Not .Comment Is Nothing Then .Comment.Delete     'alten Kommentar löschen
Set cmt = .AddComment(strCmt)
With cmt.Shape.Fill
.Solid
'                 .ForeColor.RGB = RGB(191, 191, 191)
.Transparency = 0#
End With
With cmt.Shape.TextFrame.Characters.Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
End With
With cmt.Shape.TextFrame
.Characters(Start:=1, Length:=lngTxt).Font.FontStyle = "Fett"
.Characters(Start:=lngTxt + 2, Length:=11).Font.FontStyle = "Kursiv"
End With
End If
End With
cmt.Visible = True  ' Kommentar einblenden
Set cmt = Nothing
End Sub
Gruss Markus
Anzeige
AW: Kommentar wird jetzt angezeigt
19.11.2011 19:34:16
Markus
Problem gelöst:
cmt.Visible = True ' Kommentar einblenden
cmt.Shape.Select ' Kommentarfeld aktivieren
Gruss Markus
AW: Kommentar wird jetzt angezeigt
19.11.2011 19:34:22
Markus
Problem gelöst:
cmt.Visible = True ' Kommentar einblenden
cmt.Shape.Select ' Kommentarfeld aktivieren
Gruss Markus

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige