【问题标题】:VBA learner - function call on left-handVBA学习器 - 左侧的函数调用
【发布时间】:2018-07-17 18:41:26
【问题描述】:

刚开始学习 VBA,在我的一堂课中,我开始使用日期。我写了以下代码:

Sub Aula11 () 

Dim data1 as date

Dim data2 as date

Dim diferençadatas as long

Data1 = Date 

Data2 = #2/8/2018#

diferençadatas = data1 – data2 

MsgBox = “Passaram” & diferençadatas & “dias desde o dia 8 de Fevereiro de 2018”

End Sub

当我点击运行时,我收到以下消息:“编译错误:赋值左侧的函数调用必须返回 Variant 或 Object”子程序行(第 1 行)。

我不明白怎么了,我之前用过日期函数,第一行是一样的。抱歉我的愚蠢问题,只是想学习一些与我习惯不同的东西:D

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    作为一名学习者,请考虑不要使用字母与英文字母表的 26 个标准字母不同的变量名称。因此,diferencadatas 很容易变成diferençadatas

    作为第二个最佳实践 - 请用英文命名变量。因此,不会说葡萄牙语的同事也可以轻松接管您的代码。

    这很好用:

    Sub Aula11()
    
        Dim data1 As Date
        Dim data2 As Date
        Dim diferencadatas As Long
    
        data1 = Date
        data2 = #2/8/2018#
        diferencadatas = data1 - data2
        MsgBox ("Passaram" & diferencadatas & "dias desde o dia 8 Fevereiro de 2018")
    
    End Sub
    

    【讨论】:

    • 谢谢!我花了很长时间才注意到问题是等号。将继续遵循您提到的良好做法。
    • @Hugo - 欢迎您:)。随意将答案标记为已接受 - *.com/help/someone-answers