AddLabel
Folgendes VBA-Unterprogramm SetDateInDiagram() fügt in alle Charts einer Excel-Datei ein Textfeld / Label rechts oben mit dem aktuellen Monat (Januar, Februar ...) und Jahr (vierstellig) ein. Mit der Funktion CheckLabelExists(...) wird geprüft, ob ein Label mit dem Namen "Stand" bereits existiert.
| Code: SetDateInDiagram |
Private Function CheckLabelExists(argChart As Object, argName As String) As Boolean
Dim obj As Object
CheckLabelExists = False
For Each obj In argChart.Shapes
If UCase(obj.Name) = UCase(argName) Then CheckLabelExists = True: Exit Function
Next obj
End Function
Sub SetDateInDiagram()
'
' Stand Makro
' Einfügen des Standes des Diagrames
'
Dim mySheet As Worksheet
Dim myChart As Chart
For Each mySheet In Worksheets
If mySheet.ChartObjects.Count > 0 Then
Set myChart = mySheet.ChartObjects(1).Chart
If Not CheckLabelExists(myChart, "Stand") Then
With myChart.Shapes.AddLabel(msoTextOrientationHorizontal, 380, 4, 144, 20)
.Name = "Stand"
.TextFrame.Characters.Text = Format(Date, "mmmm yyyy")
.TextFrame.Characters.Font.Size = 12
.TextFrame.Characters.Font.Bold = True
.TextFrame.HorizontalAlignment = xlHAlignRight
End With
Else
myChart.Shapes("Stand").TextFrame.Characters.Text = Format(Date, "mmmm yyyy")
myChart.Shapes("Stand").TextFrame.HorizontalAlignment = xlHAlignRight
End If
End If
Next
End Sub
|