![](/img/trans.png)
[英]Why do I get a 424 Object Required error when trying to set the range?
[英]Why do I get error 424 when calling a function?
在 VBA 中,我写了一个 sub 来定义 Excel 中单元格的边框:
Sub Borderline(cell As Range)
With C.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub
然而,当我调用它时,我收到错误 424:
Sub Sub_1()
Dim C As Range
Set C = Range("e1")
Borderline C
End Sub
为什么?
很长的故事:
当您使用Borderline C
调用 sub 时,参数C
被“翻译”到参数cell
中。 新的 sub Sub Borderline(cell As Range)
不知道C
是什么,但非常清楚什么是cell
。 虽然它们是一样的。 因为它不知道C
是什么,所以当C
在这里被调用时 - With C.Borders(xlEdgeLeft)
,它会抛出。
短篇故事:
在您开始 VBA 之旅时,请确保以相同方式调用参数和 arguments。 因此,如果您调用带有边界线 C 的Borderline C
,请确保接受的参数是Sub Borderline(C as Range)
,您将少有一个问题需要处理。
工作代码:
Sub Borderline(c As Range)
With c.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub
Sub Sub1()
Dim c As Range
Set c = Range("E11")
Borderline c
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.