Excel VBA - 范围偏移
Excel VBA - range offset
我正在尝试制作一个代码,在一个单元格中的 insert/update 值之后,将转到下一个单元格,如图中所示。现在这段代码只能以一种方式工作:
ActiveCell.Offset(1,0).Select
例如。来自 A2 to B2
.
如何 return 从 B2 to A3
偏移到左侧的单元格 - 需要像图片上那样循环。
我不太确定我是否明白你在看什么!
我在 A 列和 B 列上设置了一个范围,直到第 10 行,仅用于测试。
每当您编辑时,此代码都会移动到图片上的下一个单元格
单元格,然后按 Enter。
将此代码放在 sheet 模块上
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngColA As Range: Set rngColA = Range("A2:A10")
Dim rngColB As Range: Set rngColB = Range("B2:B10")
If Not Intersect(Target, rngColA) Is Nothing Then
Target.Offset(0, 1).Select
exit sub
End If
If Not Intersect(Target, rngColB) Is Nothing Then
Target.Offset(1, -1).Select
End If
End Sub
我正在尝试制作一个代码,在一个单元格中的 insert/update 值之后,将转到下一个单元格,如图中所示。现在这段代码只能以一种方式工作:
ActiveCell.Offset(1,0).Select
例如。来自 A2 to B2
.
如何 return 从 B2 to A3
偏移到左侧的单元格 - 需要像图片上那样循环。
我不太确定我是否明白你在看什么! 我在 A 列和 B 列上设置了一个范围,直到第 10 行,仅用于测试。
每当您编辑时,此代码都会移动到图片上的下一个单元格 单元格,然后按 Enter。
将此代码放在 sheet 模块上
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngColA As Range: Set rngColA = Range("A2:A10")
Dim rngColB As Range: Set rngColB = Range("B2:B10")
If Not Intersect(Target, rngColA) Is Nothing Then
Target.Offset(0, 1).Select
exit sub
End If
If Not Intersect(Target, rngColB) Is Nothing Then
Target.Offset(1, -1).Select
End If
End Sub