繁体   English   中英

为什么调用 function 时出现错误 424?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM