AW: Währungsformat im VBA Code
06.02.2012 12:57:55
Ralf
Hallo Rudi,
vielen Dank für die Hilfe.
Ich hatte es genauso händisch formatiert, mit dem Unterschied, dass ich Punkt und Komma vertauscht habe. Jetzt funktioniert es bestens.
Du hattest mir letzte Woche mit einem Code sehr weitergeholfen:
Zur Erinnerung:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngRow As Long, i As Long, blnNein
If Target.Count = 1 And Target.Column = 6 Then
lngRow = Target.Row
Select Case lngRow
Case 8 To 14
blnNein = LCase(Target) = "nein"
Sheets("Hilfstabelle").Columns(lngRow - 3).Hidden = blnNein
Sheets("Diagramm").Columns(lngRow - 3).Hidden = blnNein
Sheets("Diagramm").Rows(lngRow + 22).Hidden = blnNein
If blnNein Then
Range(Cells(lngRow, 3), Cells(lngRow, 4)) = 0
End If
With Tabelle2
.Range(.Cells(lngRow, 3), .Cells(lngRow, 4)).NumberFormat = _
.Range("WertFormat").NumberFormat
End With
If lngRow
Jetzt möchte ich Deinen Code mit dem folgenden kombinieren:
Sub datalabels_formatieren()
If Sheets("Daten").Range("F14") = "Ja" Then
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(12).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(11).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).Points(10).DataLabel.Text = "=Daten!$E$14"
ActiveChart.SeriesCollection(2).Points(9).DataLabel.Text = "=Daten!$E$13"
ActiveChart.SeriesCollection(2).Points(8).DataLabel.Text = "=Daten!$E$12"
ActiveChart.SeriesCollection(2).Points(7).DataLabel.Text = "=Daten!$E$11"
ActiveChart.SeriesCollection(2).Points(6).DataLabel.Text = "=Daten!$E$10"
ActiveChart.SeriesCollection(2).Points(5).DataLabel.Text = "=Daten!$E$9"
ActiveChart.SeriesCollection(2).Points(4).DataLabel.Text = "=Daten!$E$8"
ActiveChart.SeriesCollection(2).Points(3).DataLabel.Text = "=Daten!$E$7"
ActiveChart.SeriesCollection(2).Points(2).DataLabel.Text = "=Daten!$C$6"
ActiveChart.SeriesCollection(2).Points(1).DataLabel.Text = "=Daten!$C$3"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F14") = "Nein" Then
'Bei Ausblenden von Spalte "K" im Blatt Diagramm (Zelle "F14" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(11).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(10).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F13") = "Nein" Then
'Bei Ausblenden von Spalte "J" im Blatt Diagramm (Zelle "F13" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(10).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(9).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F12") = "Nein" Then
'Bei Ausblenden von Spalte "I" im Blatt Diagramm (Zelle "F12" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(9).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(8).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F11") = "Nein" Then
'Bei Ausblenden von Spalte "H" im Blatt Diagramm (Zelle "F11" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(8).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(7).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F10") = "Nein" Then
'Bei Ausblenden von Spalte "G" im Blatt Diagramm (Zelle "F10" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(7).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(6).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F9") = "Nein" Then
'Bei Ausblenden von Spalte "F" im Blatt Diagramm (Zelle "F9" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(6).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(5).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F8") = "Nein" Then
'Bei Ausblenden von Spalte "E" im Blatt Diagramm (Zelle "F8" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(5).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(4).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
If Sheets("Daten").Range("F7") = "Nein" Then
'Bei Ausblenden von Spalte "D" im Blatt Diagramm (Zelle "F7" im Blatt Daten wird auf "Nein" gestellt)
'sollen die Datenbeschriftungen so angepasst werden:
Sheets("Diagramm").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.SeriesCollection(2).Points(4).DataLabel.Text = "=Daten!$D$6"
ActiveChart.SeriesCollection(2).Points(3).DataLabel.Text = "=Daten!$E$15"
ActiveChart.SeriesCollection(2).DataLabels.Select
Selection.NumberFormat = "#,##0.00 ;[Red]#,##0.00 "
Else
End If
End Sub
Wie kann ich diesen nun in Deinen ursprünglichen integrieren bzw. kann ich von Deinem Code darauf verweisen mit Call datalabels_formatieren?
Vielen Dank im Voraus für Deine Hilfe.
Gruß
Ralf