Array im Makro
15.03.2008 17:41:24
Thorsten
ich will durch ein Makro, automatisch Diagramme erstellen lassen. Jetzt hab ich ein problem mit dem Array, ich hab keine Ahnung wie das Funktionieren soll. Denke das Makro is ziemlich fertig nur die Sache mit dem Array fehlt noch. Vielleicht kann das ja jemand mal vervollständigen.
mkchart() ist das was ausgeführt werden soll und Makro1() hab ich aufgenommen während ich ein Diagramm erstellt habe.
Sub mkchart()
Dim werte As Integer
Dim start As Integer
Dim count As Integer
Dim i As Integer
Dim ende As Integer
Dim diagramm
'Spaltenwerte falsch gezaehlt, nochmal nachpruefen
werte = 48 'Anzahl Werte im Diagramm
start = ActiveSheet.Cells(1, 1) 'Zeile in der begonnen wird zu zaehlen
ende = ActiveSheet.Cells(2, 1) 'Zeile in der das erstellen von Diagrammen beendet werden _
soll
i = start
While ActiveSheet.Cells(5, i) = Not Empty 'zaehlen wieviele Zeilen auf Werte geprueft _
werden
i = i + 1
Wend
If ende = Empty Then 'Falls B1 leer ist, schreibe die Zeilen Nr des letzten Eintrages in _
die Zelle
ActiveSheet.Cells(2, 1) = i
End If
For i = start To ende
If i = werte Then
'schreibe i zu array
End If
If ActiveSheet.Cells(11, i) = Not Empty Then
count = count + 1
End If
Next i
'Wenn letzter array wert kleiner als ende schreibe ende + 1 als neues array rein
'eventuell noch variable für nicht vollstaendiges diagramm
'erstellen und werte/array.count + 1 für die For Schleife waehlen
'For i = 1 To werte/array.count
' Diagramm erstellen für jeden array Bereich
'Next i
End Sub
Sub Makro1()
' Makro1 Makro
Range("M4:N10").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("Sheet1!$M$4:$N$10")
ActiveChart.ChartType = xlBarClustered
Range("J4").Select
ActiveChart.SeriesCollection(1).Name = "=Sheet1!$M$4"
ActiveChart.SeriesCollection(1).Values = "=Sheet1!$M$6:$M$10"
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!$N$6:$N$10"
End Sub