选中时更新单元格

只要A2:A20范围内的一个单元格被选中,我就需要活动单元格自动select实际的年份。 我的VBA代码一次改变所有的单元格。

Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer For i = 2 To 20 If ActiveCell = Cells(i, "A") And Cells(i, "A") = "" Then Cells(i, "A").Value = Year(Now) End If Next i Range("A:A").EntireColumn.AutoFit End Sub 

由于您希望A2:A20具有当前年份,因此在选中单元格时,您需要使用Worksheet_SelectionChange事件。 那么,在这种情况下,您只需testing所选单元格是否在A2:A20范围内,如果是,则将该值设置为当前年份。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Me.Range("A2:A20"),Target) Is Nothing Then Target.Value = Year(Now()) End If Range("A:A").EntireColumn.AutoFit End Sub