如何在 Excel VBA 中为目标查找同一行的第一个单元格的值?
Posted
技术标签:
【中文标题】如何在 Excel VBA 中为目标查找同一行的第一个单元格的值?【英文标题】:How to find values for 1st cell of same row for a target in Excel VBA? 【发布时间】:2021-09-26 23:24:52 【问题描述】:检索目标单元格的列标题和行标题(在这种情况下,它是行的第一个值)我在 VBA 中使用以下代码:-
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim ColumnHeader As String
Dim RowHeader As String
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("A1:G106")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
' Place your code here.
MsgBox "Cell " & Target.Address & " has changed."
ColumnHeader = Cells(1, Target.Column)
RowHeader = Cells(1, Target.Row)
MsgBox ColumnHeader
MsgBox RowHeader
End If
End Sub
我只获得 ColumnHeader 的价值。检索 RowHeader 值时是否遗漏了某些内容?
示例:
如果我更改 $C3,它应该分别获得值 'LINE2' 和 '222'
【问题讨论】:
用RowHeader = Cells(Target.Row,1)
替换RowHeader = Cells(1, Target.Row)
...单元格被称为Cells(RowNumber,ColumnsNumber)
【参考方案1】:
试试这个..
将RowHeader = Cells(1, Target.Row)
替换为RowHeader = Cells(Target.Row,1)
...单元格称为Cells(RowNumber,ColumnsNumber)
【讨论】:
以上是关于如何在 Excel VBA 中为目标查找同一行的第一个单元格的值?的主要内容,如果未能解决你的问题,请参考以下文章
在EXCEL中 如何用VBA查找某特定单元格并返回该单元格的行和列值?
Excel VBA根据条件从一个工作表复制到其他工作表特定单元格