自从我编写VBA以来,这已经很久了,所以大部分能力都存在,但非常尘埃。我设法创建了以下代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Range("Resource").Column Then
Target.Offset(0, 1).Value = Date
End If
End Sub
它非常有用,因为我们希望在第一列中发生变化时影响第二列。这是一个限制,所以我的问题是双重的。
答案 0 :(得分:3)
1 - 这是一个例子:
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox ActiveSheet.Cells(Target.Row, Range("Hazaa").Column).Value
End Sub
2 - 如果我理解正确,你可以使用这个公式&不需要VBA。
=IF(AX1=BX1,TEXT(NOW(),"dd/mm/yyyy"),"")
答案 1 :(得分:1)
您只需使用Cells
或类似的内容:
Cells(Target.Row, HazaaColumn)
HazaaColumn在这里列出你的专栏" Hazaa"您需要先在代码中设置扫描标题(我经常这样做是为了让我的程序更灵活,避免列更改出错)
或使用范围:
Range(ColLet(HazaaColumn) & Target.Row)
使用自定义功能:
Public Function ColLet(x As Integer) As String
With ActiveSheet.Columns(x)
ColLet = Left(.Address(False, False), InStr(.Address(False, False), ":") - 1)
End With
End Function