Herbers Excel-Forum - das Archiv
VBA
- VBA von M4rkus vom 13.11.2003 13:08:36
Betrifft: VBA
von: M4rkus
Geschrieben am: 13.11.2003 13:08:36
habe nachfolgend einen code:
in dem wird ein diagramm erstellt.
nun möchte ich, dass immer einme zelle nach rechts gesprungen wird und dann geprüft wird ob etwas in der zelle steh:
wenn ja dann mache das diagramm für die spalte a und die in der ich mich befinde wie untenstehend!!!
wenn nein dann ende
ich versuchs nochmal in dem code drin zu beschreiben:
Sub Makro3()
' Makro3 Makro
' Makro am 13.11.2003 von Schuhmacher Markus aufgezeichnet
Charts.Add
`also hier entwerfe ich ein Diagramm
ActiveChart.ChartType = xlLineMarkers
Definiere den Typ liniendiagramm
ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range("E18")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
lege 4 neue serien fest
ActiveChart.SeriesCollection(1).Values = "=Tabelle1!R2C2:R6C2"
hier bestimme ich den datenbereich, R2-R6 ist richtig C soll er immer die nehmen die er gerade überprüft hat!!!
ActiveChart.SeriesCollection(1).Name = "=Tabelle1!R2C1"
der name soll immer R2C1 sein also bei der datenreihe 1
das ganze soll fortgesetzt werden bei den anderen 3 reihen!!!!
ActiveChart.SeriesCollection(2).Values = "=Tabelle1!R7C2:R11C2"
ActiveChart.SeriesCollection(2).Name = "=Tabelle1!R7C1"
ActiveChart.SeriesCollection(3).Values = "=Tabelle1!R12C2:R16C2"
ActiveChart.SeriesCollection(3).Name = "=Tabelle1!R12C1"
ActiveChart.SeriesCollection(4).Values = "=Tabelle1!R17C2:R21C2"
ActiveChart.SeriesCollection(4).Name = "=Tabelle1!R17C1"
ja und das soll er solange machen, bis er eine spalte findet in der nichts drinensteht!!!!
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle1"
hab das selbst mal probiert in dem ich es aufgezeichnet hab!!!
ActiveChart.ChartArea.Copy
ActiveWindow.Visible = False
Windows("Bspdiagramm.xls").Activate
Range("E5").Select
ActiveSheet.Paste
so ich hab einfach das bereits erstellte diagramm genommen und kopiert!!!
ActiveSheet.ChartObjects("Diagramm 10").Activate
ActiveChart.SeriesCollection(1).Select
dann wählte ich die datenreihe 1 und änderte die reihe auf :
ActiveChart.SeriesCollection(1).Values = "=Tabelle1!R2C3:R6C3"
also die reihe c anstelle von b
das wiederholte ich für die 4 Datenreihen
ActiveChart.SeriesCollection(4).Select
ActiveChart.SeriesCollection(4).Values = "=Tabelle1!R17C3:R21C3"
ActiveChart.SeriesCollection(2).Select
ActiveChart.SeriesCollection(2).Values = "=Tabelle1!R7C3:R11C3"
ActiveChart.SeriesCollection(3).Select
ActiveChart.SeriesCollection(3).Values = "=Tabelle1!R12C3:R16C3"
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Diagramm 10").IncrementLeft -55.5
ActiveSheet.Shapes("Diagramm 10").IncrementTop 267.75
Windows("Bspdiagramm.xls").SmallScroll Down:=-12
End Sub
kann mir nun vieleicht iergendwer helfen?!?!
Gruß Markus
hier nochmals der komplette code und eine Beispielsdatei
https://www.herber.de/bbs/user/1906.xls
Sub Makro3()
' Makro3 Makro
' Makro am 13.11.2003 von Schuhmacher Markus aufgezeichnet
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range("E18")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values = "=Tabelle1!R2C2:R6C2"
ActiveChart.SeriesCollection(1).Name = "=Tabelle1!R2C1"
ActiveChart.SeriesCollection(2).Values = "=Tabelle1!R7C2:R11C2"
ActiveChart.SeriesCollection(2).Name = "=Tabelle1!R7C1"
ActiveChart.SeriesCollection(3).Values = "=Tabelle1!R12C2:R16C2"
ActiveChart.SeriesCollection(3).Name = "=Tabelle1!R12C1"
ActiveChart.SeriesCollection(4).Values = "=Tabelle1!R17C2:R21C2"
ActiveChart.SeriesCollection(4).Name = "=Tabelle1!R17C1"
ActiveChart.Location Where:=xlLocationAsObject, Name:="Tabelle1"
ActiveChart.ChartArea.Copy
ActiveWindow.Visible = False
Windows("Bspdiagramm.xls").Activate
Range("E5").Select
ActiveSheet.Paste
ActiveSheet.ChartObjects("Diagramm 10").Activate
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Values = "=Tabelle1!R2C3:R6C3"
ActiveChart.SeriesCollection(4).Select
ActiveChart.SeriesCollection(4).Values = "=Tabelle1!R17C3:R21C3"
ActiveChart.SeriesCollection(2).Select
ActiveChart.SeriesCollection(2).Values = "=Tabelle1!R7C3:R11C3"
ActiveChart.SeriesCollection(3).Select
ActiveChart.SeriesCollection(3).Values = "=Tabelle1!R12C3:R16C3"
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Diagramm 10").IncrementLeft -55.5
ActiveSheet.Shapes("Diagramm 10").IncrementTop 267.75
Windows("Bspdiagramm.xls").SmallScroll Down:=-12
End Sub

 |
Betrifft: Merhrfach
von:
Geschrieben am: 13.11.2003 13:09:53