AddLabel: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Thomas (Diskussion | Beiträge) K (Formatierung mit Vorlage) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Folgendes VBA-Unterprogramm fügt in alle Charts einer Excel-Datei ein Textfeld / Label rechts oben mit dem aktuellen Monat (Januar, Februar ...) und Jahr (vierstellig) ein. | 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. | ||
{{Sourcecode| SetDateInDiagram|2= | |||
<pre> | <pre> | ||
Sub | 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 mySheet As Worksheet | ||
Zeile 12: | Zeile 29: | ||
Set myChart = mySheet.ChartObjects(1).Chart | 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 | End If | ||
Zeile 26: | Zeile 47: | ||
End Sub | End Sub | ||
</pre> | </pre> | ||
}} | |||
[[Kategorie:Sub]] | [[Kategorie:Sub]] | ||
[[Kategorie:Basic]] | [[Kategorie:Basic]] | ||
[[Kategorie:VBA]] | [[Kategorie:VBA]] | ||
[[Kategorie:Excel]] | [[Kategorie:Excel]] |
Aktuelle Version vom 8. Juli 2018, 06:08 Uhr
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
|