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

我试图写一个macros来在Excel 2007中创build图表。我不知道将在一系列数据(可能在50 – 1000之间)的范围内的单元格的数量。 我已经search了这个,我find了答案,但他们都在地图上,我试过的几个人根本没有帮助我。

我是vbamacros的新手,但是我是一个有经验的程序员。

我发现了一些例子:

Sub FindLast2() x = ActiveSheet.UsedRange.Rows.Count ActiveCell.SpecialCells(xlLastCell).Select End Sub 

我不确定这是否有效,如果确实有效,我将如何将其纳入我的macros

这是我现在的macros:

 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'是我需要变化的部分。

任何帮助是极大的赞赏。

这段代码可能有助于实现你所需要的:

  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 
 sub test() last_row_all = Range("A65536").End(xlUp).Row msgbox last_row end sub