我有一个从数据列表创建的表。如何查找每列的表头文本

当我选择时,活动单元格的标题将高亮显示为橙色,但我希望使用visual basic检索该值。我可以找到excel表格的地址,但我需要表格的列标题
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MsgBox Target.Value
MsgBox ActiveCell.Address
End Sub发布于 2011-10-04 14:17:17
如果传递的单元格在表中,这将返回列标题
Function TableHeader(cl As Range) As Variant
Dim lst As ListObject
Dim strHeading As String
Set lst = cl.ListObject
If Not lst Is Nothing Then
TableHeader = lst.HeaderRowRange.Cells(1, cl.Column - lst.Range.Column + 1).Value
Else
TableHeader = ""
End If
End Function发布于 2013-06-06 23:13:21
strCurrentColName = Cells(ActiveCell.ListObject.Range.Row, ActiveCell.Column).Value发布于 2011-10-04 13:43:28
如果你说的列标题是指同一列中第一行的单元格,那么你可以使用单元格构造标题,即
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MsgBox Target.Value
MsgBox ActiveCell.Address & vbNewLine & "Column header is " & Cells(1, Target.Column)
End Sub如果标头在第2行,则可以使用Cells(2, ActiveCell.Column)等
在下面的评论之后更新
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim rng1 As Range
Set rng1 = Target.End(xlUp)
MsgBox "First value before a blank cell/top of sheet is " & rng1.Value
End Subhttps://stackoverflow.com/questions/7643652
复制相似问题