Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 尝试通过VBA中的范围名称查找列索引_Excel_Vba - Fatal编程技术网

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

Excel 尝试通过VBA中的范围名称查找列索引,excel,vba,Excel,Vba,我目前正在制作这个电子表格,遇到了巨大的困难。本质上,我试图找到包含范围名称“Average”的列索引号 所以,如果“Average”在索引22列中,则返回22,以此类推 Range("AA1").Select Selection.Name = "Average" Dim colNumber As Integer colNumber = WorksheetFunction.Match("Average", ActiveWorkbook.Sheets(Sheet1).Range("1, Ave

我目前正在制作这个电子表格,遇到了巨大的困难。本质上,我试图找到包含范围名称“Average”的列索引号

所以,如果“Average”在索引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
每次我得到这一行的不同错误,从类型不匹配到全局失败:

colNumber=WorksheetFunction.Match(“平均”,ActiveWorkbook.Sheets(Sheet1).Range(“1,平均”),0)

我到处搜索,寻找如何根据范围内的范围名称查找列索引号,但什么也找不到。非常感谢您的帮助


谢谢大家!

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

Range("AA1").Select
Selection.Name = "Average"
在剩下的代码中,您似乎只是在单元格内容中查找文本字符串“Average”

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

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

好了,现在这就更有意义了。我认为refrestorange方法是丢失的键。谢谢你,彼得!