2017-01-31 91 views
0

添加日期數據中的任何改變我期待解析特定Excel工作表的整個行該行中的數據進行任何改變。如果該行中的數據有任何變化,那麼我想添加該行中該特定單元格的日期。我想通過該行作爲輸入。我嘗試了下面的代碼,但它不起作用。Excel宏在一行


Private Function User_func1(ByVal i As Long) 

    Dim j As Long 

    For j = 1 To j = 100 
     If Cells(i, j).Value > 1 Then 
      Cells(i, 2) = Now() 
     End If 
    Next j 

End Function 
+0

張貼您的錯誤日誌 –

+0

您的表必須有100列,是嗎? –

+0

1)用'For j = 1 To 100'代替'For j = 1 To j = 100'。 2)要當心,因爲當你改變一個單元代碼是不會改變另一個細胞,這將一次又一次火'Worksheet_Change'事件...... – CMArg

回答

0

您可以使用您要掃描紙張的Worksheet_Change事件。

Option Explicit 

Const RowtoTest = 2 

Private Sub Worksheet_Change(ByVal Target As Range) 

Application.EnableEvents = False 
If Target.Row = RowtoTest Then 
    Target.Value = Date 
End If 
Application.EnableEvents = True 

End Sub 

選項2:獲取從行某個小區進行測試,可以說細胞「A1」(值被設置爲2,意味着尋找在第2行中的細胞變化)。

Private Sub Worksheet_Change(ByVal Target As Range) 

Application.EnableEvents = False 
' compare the row number to the number inputted as the row to test in cell A1 
If Target.Row = Range("A1").Value Then 
    Target.Value = Date 
End If 
Application.EnableEvents = True 

End Sub 
+0

你好Shai,謝謝你的回答!我很抱歉,但我必須承認,我剛開始使用Excel宏,並不擅長它。我試圖在工作表「查看代碼」中添加此代碼,但沒有奏效。我更喜歡,如果你能給我一個更簡單的方法,就像上面代碼中提到的那樣。理由有時我將不得不解析1或2或3或4列。此循環方法在函數中將行參數作爲參數傳遞可能會有所幫助。我不知道爲什麼我的代碼很簡單,沒有工作。你能請請幫忙! – Lok