在VBA

2017-04-12 35 views
1

自動更新圖表我不知道爲什麼我的代碼不工作在VBA

Sheets("Chart").Activate 

FinalRow = Cells(Rows.Count, 1).End(xlUp).Row 

Range("A" & Rows.Count).End(xlUp).Offset(1).Value = Date 

For i = 2 To FinalRow 
    If Cells(i, 1).Value = Date Then 
     Cells(i, 2).Value = Sheets("Main Sheet").Range("D2").Value 
     Cells(i, 4).Value = Sheets("Main Sheet").Range("D3").Value 
    End If 
Next i 

的環似乎忽略放置在列A我缺少的東西日期值?

+2

您應該所有符合條件的'細胞()'用工作表對象的,否則默認爲主動片。 –

+1

另外,您還希望使用表格中的行數「Rows.Count」。 – BruceWayne

+0

嚴格地說,在激活工作表單後,您不需要限定對單元格和行的引用。它對你的代碼如何運作沒有任何影響。但是,這是更好的做法,因爲代碼更易於閱讀和更安全,因爲在更改代碼時,您無需始終確保正確的工作表處於活動狀態。不必激活工作表也可以提高性能。 – Michael

回答

0

您在將日期添加到其下面的單元格之前確定FinalRow。 For循環在FinalRow處停止,在到達帶有添加日期的單元格之前。

您也需要確定FinalRow之前設置的日期,或環我從2到FinalRow + 1