【发布时间】:2017-08-23 00:39:11
【问题描述】:
我有在双击单元格时填充单元格的代码。这里是:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C10:C19", "D10:D19", "E10:E19")) Is Nothing Then
Cancel = True
Target.Formula = Date
End If
End Sub
代码运行良好,直到我添加了"E10:E19",然后它给了我一个编译错误说wrong number of arguments or invalid property assignments,然后它突出显示了第一行代码Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
完全披露:我对此完全是个菜鸟,所以任何修复或建议请像我 5 岁一样解释。
【问题讨论】:
-
你可能想要
Range("C10:C19, D10:D19, E10:E19"),它和Range("C10:E19")一样 -
range对象需要一个或两个 参数(输入值)。你有三个。 -
了解范围对象覆盖哪些单元格的一种方法是使用 立即窗口 .... 在 VBE 编辑器中按 ctrl-G 它应该会显示出来.. .. 现在调整 VBE 编辑器的大小,以便您可以看到工作表和即时窗口 .... 然后在即时窗口中输入
range("b3").select并按 Enter ...您应该看到单元格 B3 被选中 .... 尝试其他人.. .range("b5:d7").select...range("b5:d7, a1:a3, a6").select...range("b5:d7, a1:a3, a6").Offset(1).select...range("b5:d7, a1:a3, a6").Offset(2,3).select等等 -
您可以双击即时窗口的标题栏(其中显示“即时”),它将与 VBA 编辑器分离。再次双击以重新附加
-
谢谢你们的帮助,帮助澄清事情很容易!
标签: vba excel compilation basic