Hej! Testade din kod i både excel 2003 och 2007Skapa Trender i excel med hjälp av VBA
Jag har ett liten VBA funktion som skapar en trend på ett excelark...
Problemet är att den skapar en trend med brytpunkter, jag vill bara ha med raka linjer utan några punkter på, hur formaterar jag detta?
Samt hur ställer jag tjockleken på linjerna i trenden via vba?
Här är min kod... Excel 2007
Sub add_chart()
' Skapa trenden
Charts.Add
ActiveChart.ChartArea.Select
'Ange trendtyp
ActiveChart.ChartType = xlLine
'Serie 1
ActiveChart.SetSourceData Source:=Sheets("OmvDatumTid").Range("B1:B50"), PlotBy _
:=xlColumns 'Y
ActiveChart.SeriesCollection(1).XValues = Sheets("OmvDatumTid").Range("A1:A50") 'X
ActiveChart.SeriesCollection(1).Name = "MC143 - Börvärde" ' Namn på serie
' Serie 2
ActiveChart.SeriesCollection.NewSeries ' Lägg till ny serie
ActiveChart.SeriesCollection(2).XValues = Sheets("OmvDatumTid").Range("A1:A50") 'X
ActiveChart.SeriesCollection(2).Values = Sheets("OmvDatumTid").Range("C1:C50") 'Y
ActiveChart.SeriesCollection(2).Name = "MC143 - Ärrvärde"
' Serie 3
ActiveChart.SeriesCollection.NewSeries ' Lägg till ny serie
ActiveChart.SeriesCollection(2).XValues = Sheets("OmvDatumTid").Range("A1:A50") 'X
ActiveChart.SeriesCollection(2).Values = Sheets("OmvDatumTid").Range("D1:D50") 'Y
ActiveChart.SeriesCollection(2).Name = "MC143 - Ärrvärde"
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
.MinimumScale = 10
.MaximumScale = 54500
End With
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlNone
End With
Selection.Interior.ColorIndex = xlNone
End SubSv: Skapa Trender i excel med hjälp av VBA
Allt fungerade förutom att det skall vara SeriesCollection(3)
i tredje serien
För att ändra tjockleken används
ActiveChart.SeriesCollection(1).Border.Weight = xlThick
för en tjock linje
annars finns
xlMedium
xlThin
xlHairline
Sub add_chart_2()
' Skapa trenden
Charts.Add
ActiveChart.ChartArea.Select
'Ange trendtyp
ActiveChart.ChartType = xlLine
'Serie 1
ActiveChart.SetSourceData Source:=Sheets("OmvDatumTid").Range("B1:B50"), PlotBy _
:=xlColumns 'Y
ActiveChart.SeriesCollection(1).XValues = Sheets("OmvDatumTid").Range("A1:A50") 'X
ActiveChart.SeriesCollection(1).Name = "MC143 - Börvärde" ' Namn på serie
ActiveChart.SeriesCollection(1).Border.Weight = xlThick
' Serie 2
ActiveChart.SeriesCollection.NewSeries ' Lägg till ny serie
ActiveChart.SeriesCollection(2).XValues = Sheets("OmvDatumTid").Range("A1:A50") 'X
ActiveChart.SeriesCollection(2).Values = Sheets("OmvDatumTid").Range("C1:C50") 'Y
ActiveChart.SeriesCollection(2).Name = "MC143 - Ärrvärde"
ActiveChart.SeriesCollection(2).Border.Weight = xlThick
' Serie 3
ActiveChart.SeriesCollection.NewSeries ' Lägg till ny serie
ActiveChart.SeriesCollection(3).XValues = Sheets("OmvDatumTid").Range("A1:A50") 'X
ActiveChart.SeriesCollection(3).Values = Sheets("OmvDatumTid").Range("D1:D50") 'Y
ActiveChart.SeriesCollection(3).Name = "MC143 - Ärrvärde"
ActiveChart.SeriesCollection(3).Border.Weight = xlThick
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
.MinimumScale = 10
.MaximumScale = 54500
End With
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlNone
End With
Selection.Interior.ColorIndex = xlNone
End Sub