我在两个子程序中传递范围时遇到问题。你能说出可能的错误吗?
我在VBA中定义了两个子过程。在第一个子程序中,我有一个选择的单元格(3X3 MATRIX),命名为" ABC"我正在复制到另一个选择的单元格" PQR"。这工作:)
我想启用"所有边界"当值从ABC复制到PQR上时。为此我记录了一个宏。
但是,每当我运行这个子程序时,它都会给出一个对象不存在的错误。
我通过以下方式调用宏:
All_border_test PQR
子程序的代码如下:
Sub All_borders_test(d As Range)
Range(d).Select
' Recorded Macro to enable all borders (its working)
End Sub()
答案 0 :(得分:0)
1-看一看:
What's the RIGHT way to reference named cells in Excel 2013 VBA? (I know I'm messing this up)
和VBA Reference Named Range ActiveSheet
2-修复你的代码:
Sub All_borders_test(d As Range)
d.Select ' old code was: Range(d).Select
End Sub 'no parenthesis here
3-您可以使用以下电话之一致电All_borders_test
:
Call All_borders_test([PQR])
Call All_borders_test(Range("PQR"))
Call All_borders_test(Sheet1.Range("PQR")) ' assuming that PQR range exists in Sheet1