首页 > 解决方案 > 工作表更改后获取表格列号

问题描述

我正在尝试获取我正在使用的表的列号,但是当我键入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

标签: excelvba

解决方案


我用它来获取相对于表格的单元格列(ListObject

Public Function GetCellColumn(ByVal myTable As ListObject, ByVal cell As Range) As Long
    GetCellColumn = cell.column - myTable.HeaderRowRange.column + 1
End Function

让我知道这就是你要找的。


推荐阅读