我正在创建一个VBA代码来清除多个excel文件中的一些数据。问题是标题的位置不固定,当我把文件放在一起时,列会滑落。 我必须根据标题名称找到列索引并将它们分配给变量。
我将标头的范围声明为变量。 如何将列索引返回到变量? 我之前从未这样做过,这就是我问你们的原因。 在我的第一次尝试时,我在想这样的事情:
Set findrng = sourceWS.Range(Cells(1, 1), Cells(1, 100))
index1 = findrng.Find("COUNTRY")
index1应该存储一个整数,如1或21 ...
任何帮助都将不胜感激。
答案 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