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
语句不难,只是你的这句话成问题:【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
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