Saberexcel - o site das macros Caro E_Marcondes, sou programador e preciso de uma macro, que insere um triângulo azul no lugar do indicador(vermelho) do comentário, eu tinha mas acabei perdendo, se você tiver, será que poderia me enviar, obrigado. Reginaldo Sim tenho sim, junto à minha coleção de 15.000 macros achei, na verdade é uma macro servida de uma função: Cor do triângulo do indicador do comentário em azul
'Option Explicit
Sub Criar_triangulo_indicador_comentario() vCriarIndicador vbBlue, "EPM" End Sub
Public Function vCriarIndicador(CommentIndicatorColor As Long, _ CommentIndicatorName As String) As Boolean ' Dim IDnumber As Long Dim aCell As Range Dim aComment As Comment Dim aShape As Shape Dim aWorksheet As Worksheet Dim aWorkbook As Workbook
vCriarIndicador = False
If CommentIndicatorName = vbNullString Then GoTo ExitFunction On Error GoTo ExitFunction Set aWorkbook = ActiveWorkbook
IDnumber = 0 'loop through all wprksheets in the active workbook and all comments 'in each worksheet and create the comment shapes
For Each aWorksheet In aWorkbook.Worksheets For Each aShape In aWorksheet.Shapes If Left(aShape.Name, Len(CommentIndicatorName)) = _ CommentIndicatorName Then aShape.Delete End If Next aShape
For Each aComment In aWorksheet.Comments
Set aCell = aComment.Parent
If InStr(1, aComment.Shape.TextFrame.Characters.Text, ":") > 0 Then If Left(aComment.Shape.TextFrame.Characters.Text, InStr(1, aComment.Shape.TextFrame.Characters.Text, ":") - 1) = Application.UserName Then
GoSub CreateCommentIndicator
End If End If Next aComment Next aWorksheet
vCriarIndicador = True ExitFunction:
On Error GoTo 0 Set aCell = Nothing Set aComment = Nothing Set aShape = Nothing Set aWorksheet = Nothing Set aWorkbook = Nothing Exit Function
CreateCommentIndicator:
Set aShape = aWorksheet.Shapes.AddShape(Type:=msoShapeRightTriangle, _ Left:=aCell.Left + aCell.Width - 5, _ Top:=aCell.Top, _ Width:=5, _ Height:=5) IDnumber = IDnumber + 1 With aShape .Name = CommentIndicatorName & CStr(IDnumber) .IncrementRotation -180# .Fill.Visible = msoTrue .Fill.Solid .Fill.ForeColor.RGB = CommentIndicatorColor .Line.Visible = msoTrue .Line.Weight = 1 .Line.Style = msoLineSingle .Line.DashStyle = msoLineSolid .Line.ForeColor.RGB = CommentIndicatorColor .Placement = xlMove End With Return End Function
Aprenda Microsoft Excel VBA (( Saberexcel ))
|