Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1460to1464
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-Indikatoren farblich verändern

Kommentar-Indikatoren farblich verändern
25.11.2015 14:29:18
Flocke
Hallo!
Ich bin auf unterschiedlichen Seiten darauf gestoßen, dass sich die Indikatoren von Kommentaren per VBA Code farblich an den Hintergrund einer Zelle anpassen lassen.
Allerdings hat jeder Code, den ich bisher eingefügt habe, nicht zum gewünschten Ergebnis geführt.
Kann mir jemand dabei helfen, wie das ganze tatsächlich funktionieren kann, was ich genau eingeben muss und wobei ich darauf achten muss?
Das wäre absolut super!
Viele Grüße

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentar-Indikatoren farblich verändern
25.11.2015 17:55:40
ransi
Hallo,
Allerdings hat jeder Code, den ich bisher eingefügt habe, nicht zum gewünschten Ergebnis geführt.
Zeigst du uns mal die Codes ?
ransi

AW: Kommentar-Indikatoren farblich verändern
25.11.2015 18:46:31
Flocke
Ich habe davon wirklich so gar keine Ahnung, also weiß ich nicht ob es Sinn macht. Ich bin in dem Zusammenhang z.B. auf diesen Code gestoßen:
Sub CoverCommentIndicator()
'www.contextures.com\xlcomments03.html
Dim ws As Worksheet
Dim cmt As Comment
Dim rngCmt As Range
Dim shpCmt As Shape
Dim shpW As Double 'shape width
Dim shpH As Double 'shape height
Set ws = ActiveSheet
shpW = 6
shpH = 4
For Each cmt In ws.Comments
Set rngCmt = cmt.Parent
With rngCmt
Set shpCmt = ws.Shapes.AddShape(msoShapeRightTriangle, _
rngCmt.Offset(0, 1).Left - shpW, .Top, shpW, shpH)
End With
With shpCmt
.Flip msoFlipVertical
.Flip msoFlipHorizontal
.Fill.ForeColor.SchemeColor = 10 'Red
'12=Blue, 57=Green
.Fill.Visible = msoTrue
.Fill.Solid
.Line.Visible = msoFalse
End With
Next cmt
End Sub

Mein Hauptziel ist es allerdings, dass sich ein Feld öffnet, wenn man mit der Maus über eine bestimmte Zelle fährt. (z.B. um Informationen über einen Zellinhalt anzeigen lassen zu können) Ähnlich wie bei einem Kommentar - nur dass mich bei den Kommentaren diese roten Ecken stören (das schaut bei zu vielen Kommentaren einfach nicht mehr benutzerfreundlich aus).
Eine Eingabemeldung ist auch nicht das gewünschte, da in dem Fall die Zelle angeklickt werden muss, damit die Meldung angezeigt werden kann. Sie soll aber erscheinen, wenn über die Zelle rüber gefahren wird.
Am besten wäre eine Kombination aus den Eigenschaften beider Möglichkeiten. Ich habe bisher aber noch nichts in die Richtung gefunden
Ist denn so etwas ggf. möglich oder im Falle programmierbar?

Anzeige
AW: Kommentar-Indikatoren farblich verändern
25.11.2015 20:29:37
Sepp
Hallo Flocke,
und was funktioniert nicht?
Ich würde den Code so anpassen.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub CoverCommentIndicator()
'www.contextures.com\xlcomments03.html
Dim objCmt As Comment, objShp As Shape
Dim dblWdth As Double, dblHeight As Double

dblWdth = 7
dblHeight = 7

For Each objCmt In ActiveSheet.Comments
  With objCmt.Parent
    On Error Resume Next
    ActiveSheet.Shapes("_objCmt_" & .Address(0, 0)).Delete
    On Error GoTo 0
    Set objShp = ActiveSheet.Shapes.AddShape(msoShapeRightTriangle, _
      .Offset(0, 1).Left - dblWdth, .Top + 0.5, dblWdth, dblHeight)
  End With
  With objShp
    .Name = "_objCmt_" & objCmt.Parent.Address(0, 0)
    .Flip msoFlipVertical
    .Flip msoFlipHorizontal
    .Fill.ForeColor.RGB = objCmt.Parent.Interior.Color
    .Fill.Visible = msoTrue
    .Fill.Solid
    .Line.Visible = msoFalse
    .OnAction = "dummy"
  End With
Next objCmt

Set objShp = Nothing
End Sub

Private Sub dummy()

End Sub

Gruß Sepp

Anzeige
AW: Kommentar-Indikatoren farblich verändern
25.11.2015 20:53:18
Flocke
Erstmal danke für die Antwort! :)
Also wenn ich den Code eingebe, sehe ich danach keine Veränderung... Die alten Kommentare und auch wenn ich ein neues einfüge, sehe ich immer noch die roten Dreiecke.
Muss ich beim kopieren denn irgendwas beachten?
Ist der Code für alle Zellen gültig oder muss ich in irgendeiner Form kenntlich machen für welche Zellen er greifen soll?

AW: Kommentar-Indikatoren farblich verändern
25.11.2015 21:07:31
Sepp
Hallo Flocke,
den Code einfach einzufügen wird wohl zu wenig sein! Du musst das Makro natürlich auch ausführen.
entweder im VBE mit F5, oder in der Tabelle Alt + F8 und das Makro auswählen.
Gruß Sepp

Anzeige
AW: Kommentar-Indikatoren farblich verändern
25.11.2015 21:57:34
Flocke
Aaaah :D Das wars! Super! Vielen lieben Dank! Es funktioniert :)
Ich hab noch nie mit Makros gearbeitet, daher wusste ich nicht wie man den ausführen kann. Bin davon ausgegangen dass es automatisch geht, weil das so bei dem Code war, den ich vorher verwendet habe (der hatte funktioniert - bis eben :O)
Kannst du mir da evt auch noch kurz weiterhelfen?
Ist ein Code der automatisch Kreuzchen in die Zelle füllt, wenn man sie anklickt. Das funktioniert auch, solange die betreffenden Zellen nebeneinander liegen. Nun möchte ich den Code auf mehre Zell-Gruppierungen beziehen, zwischen denen sich wiederum Zellen befinden, die diese Funktion nicht aufweisen sollen.
(Also z.B. sollen 5 nebeneinanderliegende Zellen in Zeile A den Code haben und 5 nebeneinanderliegende Zellen in Zeile F)
Wie kann ich das in den Code eingeben? Ich habe es versucht mit: ("D59:H59;D63:H63") Das hat aber schonmal nicht geklappt.. Weißt du vllt wie das umsetzbar ist?
Der Code lautet:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Range("D59:H59"), Target) Is Nothing Then Exit Sub
If Target = "X" Then
Target = ""
Else
Target = "X"
Target.HorizontalAlignment = xlCenter
End If
End Sub

Und noch eine Idee ist mir gerade gekommen.. kann man evt. auch begrenzen, dass in einer zusammenhängenden Zell-Zeile immer nur ein Kreuzchen gesetzt werden darf?
Also 5 Zellen, die sich nebeneinander befinden, sollen ingesamt immer nur ein Kreuzchen aufweisen. Wenn in einer Zelle (A1) ein Kreuchen gesetzt worden ist, und danach in die danebenliegenden Zelle (B1) geklickt wird, darf in der neuen Zelle (B1) ein Kreuzchen gesetzt werden, dafür muss das zuerstgesetzte (A1) aber wieder verschwinden.
Aber das ist nicht ganz so doll relevant, das erste ist wichtiger ^^
Es wär ganz lieb, wenn du mir dabei auch nochmal helfen kannst :)
Das wäre wirklich, wirklich toll!

Anzeige
AW: Kommentar-Indikatoren farblich verändern
25.11.2015 22:16:27
Sepp
Hallo Flocke,
dieser Code läuft automatisch, weil es sich um eine Ereignis-Prozedur handelt, das heißt, ein bestimmtes Ereignis, hier die Änderung der Zellauswahl stößt das Makro an.
Mein Code ist ein "normales" Makro und das muss man selber ausführen oder aus einem anderen Makro aufrufen.
Für das Setzen der Kreuze würde ich allerdings nicht das Change-Ereignis verwenden, sondern das Doppelklick-Event.
In meinem Beispiel kannst du in den Zellbereichen A5:A10, F5:J5 und F10:J10, jeweils per Doppelklick ein Kreuz setzen oder löschen. Die Bereiche kannst du natürlich an deine Gegebenheiten anpassen.
Achtung: Dieser Code gehört in das Modul der entsprechenden Tabelle! > Rechtsklick auf den Tabellenreiter > Code anzeigen.
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rng As Range, rngA As Range

Set rng = Range("A5:A10,F5:J5,F10:j10") 'Bereiche angeben

If Not Intersect(Target, rng) Is Nothing Then
  Cancel = True
  For Each rngA In rng.Areas
    If Not Intersect(Target, rngA) Is Nothing Then
      If Target = "" Then
        rngA = ""
        Target = "X"
      Else
        Target = ""
      End If
    End If
  Next
End If
End Sub

Gruß Sepp

Anzeige
AW: Kommentar-Indikatoren farblich verändern
26.11.2015 13:10:40
Flocke
Hallo Sepp!
Vielen, vielen Dank!
Das ist absolut perfekt!! Genau wie ich mir das vorgestellt habe :)
Du hast mir echt total geholfen! Tausend Dank!!
Und auch Dankeschön für die Erklärung, so konnt ich noch dazulernen. :)
Viele Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige