获取excel 2007中列中数据的最后一个单元格

时间:2010-12-10 21:33:06

标签: excel excel-vba excel-2007 vba

我正在尝试编写一个宏来在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'是我需要变量的部分。

非常感谢任何帮助。

2 个答案:

答案 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