Excelmacros将参数包含在Range中

我想写一个Excelmacros,这里简要介绍一下它是什么1)打开一个Excel文件使用input参数,位于共享网站。 2)基于input参数进行过滤。 3)将过滤后的值复制到新的电子表格中并对其进行sorting。

我在写select范围时看到问题。

BuildID是input参数

'将列号转换为列名称

ColNo = BuildID + 2 colnm = Split(Cells(, ColNo).Address(True, False), "$") 

“下面的部分将过滤”信息“选项卡上的第6行,只复制标记为”更改“或”input构buildID“的”新build“

 Rows("6:6").Select Selection.AutoFilter MsgBox (colnm) cColNm = "colnm" & 6 MsgBox (cColNm) Range("cColNm").Select ActiveSheet.Range("$A$6:$IR$46").AutoFilter Field:="ColNo", Criteria1:="<>" Range("A7:B45").Select Selection.Copy 

第一个msgbox,我得到一个types不匹配的错误。 (colnm工作正常,可以在即时窗口打印,但不能存储到任何地方的debug.print函数)一个类似的msgbox在我以前的程序

有人可以帮我指出这是什么错?

感谢Jeeped。

我没有删除括号中的msgbox,甚至然后它给了我一个错误…根cuase这是我试图显示一个数组使用msgbox没有参考

excelmacros中的分割函数给出了一组元素。 我想msgbox上的数组没有参考,因此它是失败的…

我纠正了代码..看起来像下面

colnm = Split(Cells(,ColNo).Address(True,False),“$”)(0)

'下面的部分将过滤GeneralInfo选项卡上的第6行,只复制那些标记为Change或New的input构buildID

行(“6:6”)。selectSelection.AutoFilter MsgBox colnm cColNm = colnm&6 MsgBox cColNm

我给了(0)这意味着该数组的第一个元素

colnm = Split(Cells(,ColNo).Address(True,False),“$”)(0)

我不好,我不知道分裂是一个数组。 非常感谢你的帮助。