【发布时间】:2020-12-06 23:30:01
【问题描述】:
如果对任何列逐个单元格进行更改,代码工作正常,但是,如果我一起更改了超过 1 个单元格,则更改不会反映,有人知道为什么吗?
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Data!O:O")) Is Nothing Then
Target.Offset(0, 14) = Now
ElseIf Not Intersect(Target, Range("Data!F:F")) Is Nothing Then
If IsEmpty(Target.Value) = False Then
Target.Offset(0, 21) = Target.Value
ElseIf IsEmpty(Target.Value) = True Then
Target.Offset(0, 21) = Target.Offset(0, -1).Value
End If
ElseIf Not Intersect(Target, Range("Data!H:H")) Is Nothing Then
If IsEmpty(Target.Value) = False Then
Target.Offset(0, 20) = Target.Value
ElseIf IsEmpty(Target.Value) = True Then
Target.Offset(0, 20) = Target.Offset(0, -1).Value
End If
End If
End Sub
【问题讨论】:
-
更改还是选择??如何一次更改多个单元格的值? (当您选择一个范围时,只会更改左上角的单元格)。我还会检查什么是目标范围值调试并在问题中分享,因为如果更改的范围不在目标范围内,那将是调查的起点:)
-
@rustyBucketBay 如何一次更改多个单元格的值? - 复制/粘贴
-
IsEmpty(Target.Value)不适用于多单元格目标范围 -
@chrisneilsen 我也试过 "" / = "" 但也没有用。我相信 GSerg 已经通过考虑 (isempty / = "") 的循环解决了这个问题。