excel 中命名范围列中的选定单元格

excel 中命名范围列中的选定单元格

我以为这会是一个简单的答案但却在任何地方都找不到它

我有一个基于所选单元格的宏,它在右键单击上下文菜单中运行。

我需要根据单元格在命名范围内的位置获取列号。

示例命名范围 = C4:H9 选定单元格 = E6 我尝试获取的值是 = 3

E 是第 5 列 - C 是第 3 列 + 1,因为列号不是从 0 开始的。

有没有简单的方法可以在像 Range("namedRange").columnDif(selectedCell) 这样的行上执行此操作

答案1

尝试类似

Dim namedRangeFirstCol: namedRangeFirstCol = Range("Test").Column
Dim namedRangeLastCol: namedRangeLastCol = namedRangeFirstCol + Range("Test").Columns.Count - 1

If Selection.Column >= namedRangeFirstCol And Selection.Column <= namedRangeLastCol Then
   MsgBox Selection.Column - Range("Test").Column + 1
End If

IF 语句仅用于检查所选单元格是否确实在范围内。您可能只需要Selection.Column - Range("Test").Column + 1

相关内容