尝试在VBA中通过范围名称查找列索引

我目前正在处理这个电子表格,并遇到了很大的困难。 本质上,我试图find包含范围名称“平均”的列索引号。

因此,如果“平均”在列索引22中,则将返回22等等。

Range("AA1").Select Selection.Name = "Average" Dim colNumber As Integer colNumber = WorksheetFunction.Match("Average", ActiveWorkbook.Sheets(Sheet1).Range("1, Average"), 0) 'Average is a range name Columns(colNumber).Insert 

每次我得到不同的错误,从types不匹配到global_ failure:

colNumber = WorksheetFunction.Match("Average", ActiveWorkbook.Sheets(Sheet1).Range("1, Average"), 0)

我到处search,寻找如何根据范围内的范围名称find列索引号,我找不到任何东西。 任何帮助非常感激。

谢谢!

您正在通过以下这些代码行重新定义范围名称:

 Range("AA1").Select Selection.Name = "Average" 

在剩余的代码中,您似乎只是在单元格内容中查找文本string“Average”。

要获得名为“Average”的范围名称左上angular的列,您需要:

 Dim lCol As Long lCol = ThisWorkbook.Names("Average").ReferstoRange.Cells(1,1).Column