我正在尝试编写一个宏来在excel 2007中创建图形。我不知道将在一系列数据范围内的单元格数量(它可能在50到1000之间) 。我用谷歌搜索了这个,我已经找到了答案,但是他们已经遍布地图了,我尝试过的几个根本没有帮助过我。
我是vba宏的新手,但我是一位经验丰富的程序员。
我找到了例如:
Sub FindLast2()
x = ActiveSheet.UsedRange.Rows.Count
ActiveCell.SpecialCells(xlLastCell).Select
End Sub
我不确定这是否有效&如果它确实有效,我将如何将其纳入我的宏
这是我现在的宏:
Sub temp_graph_5()
'
' temp_graph_5 Macro
'
'
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(2).Select
Sheets(2).Name = "Temperature"
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets(1). _
Range("B2:B324")
ActiveChart.SeriesCollection(1).Name = "=""Temperature"""
End Sub
'B324'是我需要变量的部分。
非常感谢任何帮助。
答案 0 :(得分:2)
此代码可能有助于实现您的需求:
Sub temp_graph_5()
Dim myRng As Range
Dim lastCell As Long
//Get range to be plotted in chart
lastCell = Worksheets(1).Range("B2").End(xlDown).Row
Set myRng = Worksheets(1).Range("B2:B" & lastCell)
//Add worksheet and name as "Temperature"
Dim newSheet As Worksheet
Set newSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
newSheet.Name = "Temperature"
newSheet.Select
//Add a new chart in Temperature and plot values from sheet 1
Charts.Add
With ActiveChart
.ChartType = xlLine
.SetSourceData Source:=myRng, PlotBy:=xlColumns
.Location Where:=xlLocationAsObject, Name:="Temperature"
End With
End Sub
答案 1 :(得分:0)
sub test()
last_row_all = Range("A65536").End(xlUp).Row
msgbox last_row
end sub