Excel VBA转到特定的行号,然后返回右侧的值

时间:2017-07-03 04:56:07

标签: excel-vba vba excel

我有一点不同的要求。我试图找到一个解决方案,我需要VBA代码转到特定的行号,然后在对话框中返回该特定行的值。我有一个解决方法,因为我通过使用= Row()将列A中的每个单元格与相关的行匹配,然后将单元格返回到右侧,但我想知道是否存在更优雅的解决方案,并消除额外的列,只查找行号? 干杯 ANQ

1 个答案:

答案 0 :(得分:1)

<强>功能
使用Application.Caller.Row获取行。此示例将消息来自第1列的值,该行包含包含调用此函数的公式的单元格。

MsgBox(ws.Cells(Application.Caller.Row, 1))

<强>宏
遍历您的行并处理您需要的内容。这是一个循环并向第1列中的值发送消息的示例。

    Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets("Sheet1")

Dim iRow As Integer
'You starting row in the actual sheet
iRow = 1
Dim iEndRow As Integer
'Set this.
iEndRow = 100


For iRow = 1 To iEndRow Step 1
    'loop through each row.
    'message what's in column 1 for this row.
    MsgBox (ws.Cells(iRow, 1))
Next iRow