VBA Excel, enkelt problem
Hej Swec,
Känns lite pinsamt att ställa frågan i Programmering och Digitalt Skapande, men det är nog det närmaste jag kan komma i dagsläget.
Jag ska skriva ut en stor mängd grafer och tänkte att det nog är bättre att skapa dem med VBA, men jag får det tyvärr inte riktigt att fungera. Jag har prövat att spela in lite kodsnuttar, men eftersom att jag vill göra en stor mängd grafer så fungerar det inte riktigt.
Kod i Spoiler.
Sub Grafer()
Worksheets("Uppföljning ISK").ChartObjects.Delete
Dim i As Integer
Dim j As Integer
For i = 1 To 5
For j = 2 To 6
m = j + (i - 1) * 5
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Uppföljning ISK").Range(Cells(10, m), Cells(20, m)), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Uppföljning ISK"
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Text = Cells(9, j)
ActiveChart.Legend.Select
Selection.Format.TextFrame2.TextRange.Font.Size = 6
ActiveChart.Parent.Height = 250
ActiveChart.Parent.Width = 240
ActiveChart.Parent.Top = 50 + 275 * (j - 1)
ActiveChart.Parent.Left = -100 + 240 * i
Next j
Next i
Denna kodsnutt fungerar, men jag skulle vilja lägga till ett låst intervall till graferna. Dvs, jag skulle vilja ha med [Cells(10,1), Cells(20,1)] i intervallet ovan, men jag får det inte att fungera. Jag har då testat att köra:
ActiveChart.SetSourceData Source:=Sheets("Uppföljning ISK").Range(Union(Cells(10,1), Cells(20,1),Cells(10, m), Cells(20, m))), PlotBy:=xlColumns
Men det fungerar inte, hur gör jag för att det ska fungera?
Jag har googlat en hel del men tyvärr inte kommit något längre. Inte helt hemma med detta :-).
//Mvh Martin