EXCEL 中的固定单元格历史数字自动记录

2025-03-23 02:07:03
推荐回答(3个)
回答(1):

Private Sub Worksheet_Change(ByVal Target As Range) '工作表内容发生改变触发事件
With Target
If .Address = "$E$5" Then '如果选中的单元格地址是 E5
If [G6] = "" Then         '如果G6是空单元格
Range("G6") = .Value      '那么G6=E5
Else                      '否则
Cells(Range("G65536").End(xlUp).Row + 1, 7) = .Value   'G列最后一个非空单元格的下一单元格 =E5
End If
End If
End With
End Sub

回答(2):

语句不难,只是你的这句话成问题:【E5新数值时 G6开始往下记录】
不知道该如何理解你的需求,是不是E5每次更改,从G6开始记录E5被更改后的数据?,如果是:
Private Sub Worksheet_Change(ByVal Target As Range)
‘Dim a 这句没用,加了引号作为注释了
With Target
If .Address = "$E$5" Then
If Range("G65536").End(xlUp).Row < 6 Then
Range("G6") = .Value
Else
Cells(Range("G65536").End(xlUp).Row + 1, 7) = .Value
End If
End If
End With
End Sub

回答(3):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a
With Target
If .Address = "$E$5" Then
If Range("G65536").End(xlUp).Row = 6 And Cells(6, 7) = "" Then
Range("G6") = .Value
Else
Cells(Range("G65536").End(xlUp).Row + 1, 7) = .Value
End If
End If
End With
End Sub