非连续计数细胞
Counting Cells Non-Contiguously
我不太确定如何表达我想做的事情,但我会尽力而为。
我想按点击顺序计算 Excel 中不连续的单元格。
例如,假设第 A
列有一个下拉列表,我希望第 B
列以什么顺序记录第 A
列的下拉列表是 select编辑。因此,如果一个人要跳过 A1:A3
和 select A4
,那么 B4
将等于 1
;接下来他们 select A2
然后设置 B2=2
。
这可能吗?我试过索引、vlookups、计数、辅助细胞,但似乎没有任何效果,因为我假设 Excel 以顺序方式思考,而我正在做的是试图解释看似随机的非顺序人类互动。
禁用迭代计算也不是一个选项,因为还有其他依赖迭代的引用。
我知道VBA,但只是很浅薄。任何帮助将不胜感激。谢谢。
将以下 Event 宏放入工作表代码区域:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range, wf As WorksheetFunction
Dim B As Range
Set A = Range("A:A")
Set B = Range("B:B")
Set wf = Application.WorksheetFunction
If Intersect(A, Target) Is Nothing Then Exit Sub
If Target.Count <> 1 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1).Value = wf.Max(B) + 1
Application.EnableEvents = True
End Sub
因为它是工作表代码,所以安装和自动使用非常容易:
- 右键单击 Excel window
底部附近的选项卡名称
- select 查看代码 - 这会弹出一个 VBE window
- 粘贴内容并关闭 VBE window
如果您有任何疑虑,请先在试用工作表上尝试一下。
如果您保存工作簿,宏也会随之保存。
如果您使用的 Excel 版本晚于 2003,则必须保存
文件为 .xlsm 而不是 .xlsx
删除宏:
- 如上所述调出 VBE windows
- 清除代码
- 关闭 VBE window
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
要了解有关事件宏(工作表代码)的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/event.htm
必须启用宏才能工作!
我不太确定如何表达我想做的事情,但我会尽力而为。
我想按点击顺序计算 Excel 中不连续的单元格。
例如,假设第 A
列有一个下拉列表,我希望第 B
列以什么顺序记录第 A
列的下拉列表是 select编辑。因此,如果一个人要跳过 A1:A3
和 select A4
,那么 B4
将等于 1
;接下来他们 select A2
然后设置 B2=2
。
这可能吗?我试过索引、vlookups、计数、辅助细胞,但似乎没有任何效果,因为我假设 Excel 以顺序方式思考,而我正在做的是试图解释看似随机的非顺序人类互动。
禁用迭代计算也不是一个选项,因为还有其他依赖迭代的引用。
我知道VBA,但只是很浅薄。任何帮助将不胜感激。谢谢。
将以下 Event 宏放入工作表代码区域:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range, wf As WorksheetFunction
Dim B As Range
Set A = Range("A:A")
Set B = Range("B:B")
Set wf = Application.WorksheetFunction
If Intersect(A, Target) Is Nothing Then Exit Sub
If Target.Count <> 1 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1).Value = wf.Max(B) + 1
Application.EnableEvents = True
End Sub
因为它是工作表代码,所以安装和自动使用非常容易:
- 右键单击 Excel window 底部附近的选项卡名称
- select 查看代码 - 这会弹出一个 VBE window
- 粘贴内容并关闭 VBE window
如果您有任何疑虑,请先在试用工作表上尝试一下。
如果您保存工作簿,宏也会随之保存。 如果您使用的 Excel 版本晚于 2003,则必须保存 文件为 .xlsm 而不是 .xlsx
删除宏:
- 如上所述调出 VBE windows
- 清除代码
- 关闭 VBE window
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
要了解有关事件宏(工作表代码)的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/event.htm
必须启用宏才能工作!