2017-01-31 62 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