使用 Excel VBA 搜索和定位列标题

4 excel vba excel-2010

我有一个工作表,其中列标题的位置会发生变化。

例如,如果今天“日期”在列 J1 中作为列标题,那么明天“日期”可能在列 C1 中。因此,如果我想执行排序操作,使用日期宏,我不能使用硬编码的单元格引用来引用它,例如

cu.Range("J1").AutoFilter Field:=10, Criteria1:=">=" & Date
Run Code Online (Sandbox Code Playgroud)

有没有办法搜索和定位列标题“日期”。以便在我定位后,我可以根据当前日期执行排序?

Jea*_*ett 5

您可以使用该Find方法来执行此操作。例子:

Dim rngDateHeader As Range
Dim rngHeaders As Range
Set rngHeaders = Range("1:1") 'Looks in entire first row; adjust as needed.
Set rngDateHeader = rngHeaders.Find("Date")
Run Code Online (Sandbox Code Playgroud)

然后,您将使用rngDateHeader而不是硬编码的Range("J1").