虽然在我的脚本的早期阶段,我遇到了想要动态地获取列中单元格范围的问题,因为我不断添加新单元格。我研究了按列名获取范围,但是我收到错误,“运行时错误'1004':应用程序定义的或对象定义的错误”。我可能会通过列名错误理解范围,有人知道我为什么会收到此错误吗?
到目前为止,这是我的代码:
Sub autoFill()
Sheets("Unit #2").Range("SUBSYSTEM").Copy Destination:=Sheets("Test").Range("A1")
Sheets("Unit #2").Range("B2:B38").Copy Destination:=Sheets("Test").Range("B1")
End Sub
第一行显示我试图获取列内容的位置,“SUBSYSTEM”,第二行显示我将如何使用固定范围,这确实有效。
答案 0 :(得分:1)
转到第2单元工作表并使用 SUBSYSTEM 选择列标题标签单元格。
选择公式,定义的名称,名称管理器命令。打开时,选择新建。
使用 SUBSYSTEM 作为名称;将其保留为工作簿范围,并使用以下内容:参考:
'for text values in the SUBSYSTEM column
='Unit #2'!$Z$1:INDEX('Unit #2'!$Z:$Z, MATCH("zzz", 'Unit #2'!$Z:$Z))
'for number values in the SUBSYSTEM column
='Unit #2'!$Z$1:INDEX('Unit #2'!$Z:$Z, MATCH(1e99, 'Unit #2'!$Z:$Z))
单击“确定”。现在你的代码应该可以工作了。
请注意,您必须用实际的SUBSYSTEM列字母标识符代替 Z (5个地方)。