excel - 工作表更改后获取表格列号
问题描述
我正在尝试获取我正在使用的表的列号,但是当我键入Target.column
它时,它会计算列 A 中的列,而不是表的开头。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim Table5 As ListObject
Set Table5 = Range("Table5").ListObject
Debug.Print "Something changed in cell " & Target.Column
t = Target.Column
For i = 1 To Table5.ListRows.Count
Next i
End Sub
如果可能的话,有没有办法在不使用的情况下做到这一点offset
?
解决方案
我用它来获取相对于表格的单元格列(ListObject
)
Public Function GetCellColumn(ByVal myTable As ListObject, ByVal cell As Range) As Long
GetCellColumn = cell.column - myTable.HeaderRowRange.column + 1
End Function
让我知道这就是你要找的。
推荐阅读
- vue.js - 在 Vue 中跨组件传递数据
- javascript - 为什么这段代码不起作用?(我是一个完全的js菜鸟,可能犯了一些明显的错误)
- javascript - 没有使用 Passport.js 创建会话
- ios - 无法为 14.2 版设备 MacFamily20,1 设置特征
- c - 计算数组中元音数量的问题
- css - 样式化组件 React.js 中的三元语句
- excel - SVG 混合模式乘以 IE11 和 EXCEL 2019
- css - 宽度属性不适用于 d3 样式
- homebrew - 错误:google-backup-and-sync:似乎已经有一个应用程序
- node.js - 节点找不到自定义类的模块