AW: VBA - Code
05.04.2018 09:30:57
Fennek
Hallo Simon,
versuche mal ob Du mit diesem Code klar-kommst.
Sub F_en()
'ein neues, leeres anlegen, mit alt-F11 den VBA-Editor öffnen,
'im Menü: Einfügen: Modul
'diesen Code in Fenster kopieren
'====> Trennung des Makros (speichern als Chart.xlsm) und Daten
'das Workbook mit dem Makro muss geöffnet sein
'einmalig in Menü: Ansicht: Makro: Makros anzeigen: [F_en] Optionen: ctrl-w
'damit kann der Makro auch aus anderen offenen Workbooks mit strg-w gestartet werden
'Annahmen: die Daten sind so wie in der gezeigten Tabelle
'alle Daten bis zur 1. Leerzeile kommen in die Charts
'falls in Spalte B eine oder mehrere Zellen gelb gefärbt ist, wird das in den Chart übernommen
'Plazierung: Linke obere Ecke
Dim WS As Worksheet: Set WS = ActiveSheet
Dim Pos
Pos = Array("G5", "G20", "G35")
'Datenbereich
lr = Cells(1, 1).End(xlDown).Row
'X_Achse = WS.Name & "!" & Range("A1", Cells(lr, 1)).Address
X_Achse = Range("A1", Cells(lr, 1)).Address
'3 Charts
For c = 0 To 2
Y_Achse = Range(Cells(1, c + 3), Cells(lr, c + 3)).Address
Set Rng = Union(Range(X_Achse), Range(Y_Achse))
Rng.Select
With Range(Pos(c))
WS.Shapes.AddChart2(240, xlXYScatter, .Left, .Top, 360, 216).Select
'Markierung
For i = 2 To lr
If Cells(i, 2).Interior.Color = vbYellow Then
ActiveChart.FullSeriesCollection(1).Points(i - 1).Format.Fill.ForeColor.RGB = _
RGB(255, 255, 0)
End If
Next i
End With
Next c
End Sub
Das Forum verschiebt nach einer Woche alles ins Archiv, wenn nötig eröffnest Du das Thema neu.
mfg