Excel: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) (Übersicht über nützliche VBA Scripte) |
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
Nützliche VBA Scripte für MS Excel. | Nützliche VBA Scripte für MS Excel. | ||
== Stapelbalkendiagramme mit Prozentwerten markieren. == | |||
=== Labels in Diagramm ändern === | |||
<pre> | |||
Sub PercentLabelChart(myChart As Chart) | |||
Dim mySeries As Series | |||
Dim SollSeries As Series | |||
Dim myPoint As Point | |||
Dim i, j As Long | |||
If myChart.SeriesCollection.Count > 2 Then | |||
Set SollSeries = myChart.SeriesCollection(myChart.SeriesCollection.Count) | |||
For i = 1 To myChart.SeriesCollection.Count - 1 | |||
Set mySeries = myChart.SeriesCollection(i) | |||
For j = 1 To mySeries.Points.Count | |||
Set myPoint = mySeries.Points(j) | |||
If myPoint.HasDataLabel Then | |||
' myPoint.DataLabel.Text = Format(mySeries.Values(j), "0") | |||
myPoint.DataLabel.Text = Format(mySeries.Values(j) / SollSeries.Values(j), "0%") | |||
End If | |||
Next ' j | |||
Next ' i | |||
End If | |||
End Sub | |||
</pre> | |||
=== Aktives Diagramm ändern === | |||
<pre> | |||
Sub ActiveChartPercentLabeling() | |||
If Not ActiveChart Is Nothing Then | |||
Call PercentLabelChart(ActiveChart) | |||
Else | |||
MsgBox "Bitte ein Diagramm auswählen!", vbOKOnly, "Fehler: Aktives Diagramm" | |||
End If | |||
End Sub | |||
</pre> | |||
=== Alle Diagramme ändern === | |||
<pre> | |||
Sub ModifyAllCharts() | |||
' | |||
' ModifyAllCharts Makro | |||
' | |||
' Ausgangsbefehl | |||
' | |||
' ActiveChart.SeriesCollection(1).Points(1).DataLabel.Text = "33305" | |||
' | |||
Dim mySheet As Worksheet | |||
For Each mySheet In Worksheets | |||
If mySheet.ChartObjects.Count > 0 Then | |||
Call PercentLabelChart(mySheet.ChartObjects(1).Chart) | |||
End If | |||
Next | |||
End Sub | |||
</pre> | |||
Version vom 2. November 2016, 09:22 Uhr
Nützliche VBA Scripte für MS Excel.
Stapelbalkendiagramme mit Prozentwerten markieren.
Labels in Diagramm ändern
Sub PercentLabelChart(myChart As Chart)
Dim mySeries As Series
Dim SollSeries As Series
Dim myPoint As Point
Dim i, j As Long
If myChart.SeriesCollection.Count > 2 Then
Set SollSeries = myChart.SeriesCollection(myChart.SeriesCollection.Count)
For i = 1 To myChart.SeriesCollection.Count - 1
Set mySeries = myChart.SeriesCollection(i)
For j = 1 To mySeries.Points.Count
Set myPoint = mySeries.Points(j)
If myPoint.HasDataLabel Then
' myPoint.DataLabel.Text = Format(mySeries.Values(j), "0")
myPoint.DataLabel.Text = Format(mySeries.Values(j) / SollSeries.Values(j), "0%")
End If
Next ' j
Next ' i
End If
End Sub
Aktives Diagramm ändern
Sub ActiveChartPercentLabeling() If Not ActiveChart Is Nothing Then Call PercentLabelChart(ActiveChart) Else MsgBox "Bitte ein Diagramm auswählen!", vbOKOnly, "Fehler: Aktives Diagramm" End If End Sub
Alle Diagramme ändern
Sub ModifyAllCharts()
'
' ModifyAllCharts Makro
'
' Ausgangsbefehl
'
' ActiveChart.SeriesCollection(1).Points(1).DataLabel.Text = "33305"
'
Dim mySheet As Worksheet
For Each mySheet In Worksheets
If mySheet.ChartObjects.Count > 0 Then
Call PercentLabelChart(mySheet.ChartObjects(1).Chart)
End If
Next
End Sub