VBA 在联合中选择多个列

jro*_*occ 1 excel vba

我有下面的电子表格,在 VBA 中我想根据这些标题选择“股票代码”列和“参考价格”列。

在此输入图像描述

这是我到目前为止所尝试的,但是当我循环范围时我只能得到股票代码值。

 Dim rngRefData As Range
 Set rngRefData = Union(rdWS.Range("1:1").Find("Ticker"), rdWS.Range("1:1").Find("Reference Price"))
 Set rngRefData = Range(rngRefData, rngRefData.End(xlDown))

 For Each Item In rngRefData
      Debug.Print Item
 Next Item
Run Code Online (Sandbox Code Playgroud)

如何选择整个股票代码列的最后一个值和整个参考价格列的最后一个值。

SJR*_*SJR 5

您可以将范围大小调整为数据行数。

顺便说一句,这样链接并不是一个好习惯 - 如果您没有找到这些值,您的代码将会出错,因此首先检查是否找到了这些术语。

Sub x()

Dim rngRefData As Range
Dim r As Long
Dim r1 As Range, r2 As Range
 
r = rdWS.Range("A" & Rows.Count).End(xlUp).Row
Set r1 = rdWS.Range("1:1").Find("Ticker")  'and good practice to specify parameters
Set r2 = rdWS.Range("1:1").Find("Reference Price")

If Not r1 Is Nothing And Not r2 Is Nothing Then
    Set rngRefData = Union(r1.Resize(r), r2.Resize(r))
End If

For r = 1 To rngRefData.Rows.Count
    MsgBox rngRefData.Areas(1)(r) & " " & rngRefData.Areas(2)(r)
Next r

End Sub
Run Code Online (Sandbox Code Playgroud)