Excel VBA CommentIndicator Farbe ändern, Code Umba

Bild

Betrifft: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Silent_Warrior5
Geschrieben am: 09.07.2015 17:48:56

Hi Zusammen man kann ja den CommentIndicator leider nicht auf normalem Weg ändern (Rote Dreieck rechts in Ecke was einem anzeigt hier ist ein Kommentar in Zelle) nun hab ich folgendes Makro was einfach ein Shape auch Dreieck drüberlegt. läuft super nur wie kann ich es umbauen das es nur die active zelle in dem activen tabellenblatt ausgeführt wird und nur den einen Kommentar ändert und nicht jedesmal alle?

Sub CoverCommentIndicator()
'Update 20141110
Dim pWs As Worksheet
Dim pComment As Comment
Dim pRng As Range
Dim pShape As Shape
Set pWs = Application.ActiveSheet
wShp = 6
hShp = 4
For Each pComment In pWs.Cells(7, 12).Comments
Set pRng = pComment.Parent
Set pShape = pWs.Shapes.AddShape(msoShapeRightTriangle, pRng.Offset(0, 1).Left - wShp, pRng.Top, _
 _
 wShp, hShp)
With pShape
.Flip msoFlipVertical
.Flip msoFlipHorizontal
.Fill.ForeColor.SchemeColor = 12
.Fill.Visible = msoTrue
.Fill.Solid
.Line.Visible = msoFalse
End With
Next
End Sub
Danke & Gruß SW5

Bild

Betrifft: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Nepumuk
Geschrieben am: 09.07.2015 18:41:41
Hallo,
teste mal:

Sub CoverCommentIndicator()
    'Update 20141110
    
    Dim pShape As Shape
    
    Const wShp = 6
    Const hShp = 4
    
    If Not ActiveCell.Comment Is Nothing Then
        
        With ActiveCell
            
            Set pShape = .Parent.Shapes.AddShape(msoShapeRightTriangle, .Left + .Width - wShp, .Top, wShp, hShp)
        End With
        With pShape
            
            .Flip msoFlipVertical
            .Flip msoFlipHorizontal
            .Fill.ForeColor.SchemeColor = 12
            .Fill.Visible = msoTrue
            .Fill.Solid
            .Line.Visible = msoFalse
        End With
    End If
End Sub

Gruß
Nepumuk

Bild

Betrifft: AW: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Silent_Warrior5
Geschrieben am: 10.07.2015 22:43:09
Hi Nepumuk,
also wo ich gelesen habe, das du geantwortet hast wusst ich das es geht :) Hab schon viel von dir gelesen und verwendet. Hab nur noch ne kleine Frage, wie kann ich die Geister wieder Stoppen, die ich rief?....-sprich auch nur das Shape der aktiven zelle löschen?
Danke & Gruß
SW5

Sub RemoveIndicatorShapes()
'www.contextures.com/xlcomments03.html
Dim ws As Worksheet
Dim shp As Shape
Set ws = ActiveSheet
For Each shp In ws.Shapes
If Not shp.TopLeftCell.Comment Is Nothing Then
  If shp.AutoShapeType = _
    msoShapeRightTriangle Then
    shp.Delete
  End If
End If
Next shp
End Sub


Bild

Betrifft: AW: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Silent_Warrior5
Geschrieben am: 10.07.2015 22:52:02
Hi Nepumuk,
also wo ich gelesen habe, das du geantwortet hast wusst ich das es geht :) Hab schon viel von dir gelesen und verwendet. Hab nur noch ne kleine Frage, wie kann ich die Geister wieder Stoppen, die ich rief?....-sprich auch nur das Shape der aktiven zelle löschen?
Danke & Gruß
SW5

Sub RemoveIndicatorShapes()
'www.contextures.com/xlcomments03.html
Dim ws As Worksheet
Dim shp As Shape
Set ws = ActiveSheet
For Each shp In ws.Shapes
If Not shp.TopLeftCell.Comment Is Nothing Then
  If shp.AutoShapeType = _
    msoShapeRightTriangle Then
    shp.Delete
  End If
End If
Next shp
End Sub


Bild

Betrifft: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Nepumuk
Geschrieben am: 11.07.2015 07:38:36
Hallo,
so:

Sub RemoveIndicatorShapes()
    Dim shp As Shape
    For Each shp In ActiveSheet.Shapes
        If shp.TopLeftCell.Address = ActiveCell.Address Then
            If shp.AutoShapeType = msoShapeRightTriangle Then
                shp.Delete
                Exit For
            End If
        End If
    Next shp
End Sub

Gruß
Nepumuk

Bild

Betrifft: AW: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Silent_Warrior5
Geschrieben am: 11.07.2015 16:53:03
Hi Nepumuk,
er meldet mir in folgender Zeile den Fehler : "Der angegebene Wert ist außerhalb des zulässigen Bereichs" und stoppt hier : shp.Delete
Weist du woran das liegt?
Gruß
SW5

Bild

Betrifft: AW: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Silent_Warrior5
Geschrieben am: 11.07.2015 17:37:15
Hi,
lol ne ne klappt Prima, ich hatte vergessen das das andere Makro vorher den Blattschutz rein macht *lach* und nun geht es ;) Danke Gruß SW5

Bild

Betrifft: AW: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Silent_Warrior5
Geschrieben am: 11.07.2015 17:45:22
Hi Nepumuk,
ist dies nur mit der schleife machbar oder kann man das auch direkt machen wie beim Erstellen? Da sehr viele Kommentare in der Tabelle sind und nur ein paar gelöscht werden müssen, so fragt er ja alle ab bis er den findet der die aktive Zelle ist?
Gruß SW5

Bild

Betrifft: AW: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Werner
Geschrieben am: 11.07.2015 18:37:34
Hallo,
ich würde es mal so versuchen, hab es aber selbst nicht getestet.

Sub RemoveIndicatorShapes()
Dim shp As Shape
  With ActiveCell
     If ActiveCell.Comment is Nothing Then Exit Sub
        If shp.TopLeftCell.Address = ActiveCell.Address Then
            If shp.AutoShapeType = msoShapeRightTriangle Then
                shp.Delete
            End If
        End If
  End With
End Sub
Gruß Werner

Bild

Betrifft: AW: Excel VBA CommentIndicator Farbe ändern, Code Umba
von: Silent_Warrior5
Geschrieben am: 12.07.2015 11:00:02
Hi habe mir nur anders geholfen, hatte gestern schon hier drauf geantwortet. aba er hat es nicht eingetragen? Hab mir nun ne Liste erstellt wo die Zelle und der Name des Shape steht und wenn ich die Zelle bearbeite sucht mein Makro den Name aus der Tabelle und löscht genau dieses Shape und das geht blitz schnell und ohne Schleife. Das hilft mir sehr denn es können über 2000 Kommis auf dem Tabellenblatt stehen. Danke für die Mühe trotzdem, dein Code zeigt ein Fehler an.
Gruß SW5

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Excel VBA CommentIndicator Farbe ändern, Code Umba"