如何在VBA中查找并返回列索引?

时间:2017-07-05 15:19:58

标签: vba excel-vba excel

我正在创建一个VBA代码来清除多个excel文件中的一些数据。问题是标题的位置不固定,当我把文件放在一起时,列会滑落。 我必须根据标题名称找到列索引并将它们分配给变量。

我将标头的范围声明为变量。 如何将列索引返回到变量? 我之前从未这样做过,这就是我问你们的原因。 在我的第一次尝试时,我在想这样的事情:

Set findrng = sourceWS.Range(Cells(1, 1), Cells(1, 100))
index1 = findrng.Find("COUNTRY")

index1应该存储一个整数,如1或21 ...

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

我对你的要求很困惑。

您的问题是,您希望能够在第一行搜索标题,并根据标题检索特定列吗?

thisRow = 1

searchCol = Sheet1.Cells(thisRow, 1).EntireRow.Find(What:="someString", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column

?然后,您可以使用.column访问者访问该列。

答案 1 :(得分:0)

对不起,我刚刚找到它。这很简单......

ind1 = findrng.Find("COUNTRY").Column