2010-12-10 84 views
0

我正在嘗試編寫一個宏以在excel 2007中創建圖表。我不知道將在該數據系列之一的範圍內的單元的數量(它可以在50-1000的任何地方)。我搜索了這個,我找到了答案,但他們都在地圖上,我試過的幾個人根本沒有幫助我。在excel 2007中獲取列中數據的最後一個單元

我是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

有一些想法在這裏:http://stackoverflow.com/questions/71180/how-can-i-find-last -row-that-c​​ontains-data-in-the-excel-sheet-with-a-macro – Fionnuala 2010-12-10 22:38:11

回答

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 
+0

非常感謝你!你知道任何有關vba宏的教程的好地方嗎? – Patrick 2010-12-11 22:48:39

+2

如果你想學習VBA宏到一個熟練的標準,我會建議購買一本書(見這篇文章 - > http://stackoverflow.com/questions/404824/)。在解決VBA問題時,Google是你的朋友,我發現一些有用的網站是 - > www.ozgrid.com/www.contextures.com/www.dailydoseofexcel.com – 2010-12-12 10:16:14

0
sub test() 
last_row_all = Range("A65536").End(xlUp).Row 
msgbox last_row 
end sub 
+0

這對於xl'07之前的版本可以。 xl'07有超過65536行。一個流行的方法是'last_row_all = cells(rows.count,「A」)end(xlup).row'確保你將last_row_all變暗了, – Davesexcel 2015-10-30 20:51:16

相關問題