【VBA研究】错误:缺少函数或变量

作者:iamlaosong

我曾经写过一个简单的出算术题的程序(做着玩的),当时没有问题,最近运行的时候却报出错误:缺少函数或变量。这个错误有点莫名其妙,错误定位在给变量a赋值那一行,但显然不是代码问题,因为改成“a=1”后依然出错。代码如下:

Public Sub get_expr()
    '读取参数:范围和数量
    p_fw = Cells(1, 2)
    p_no = Cells(2, 2)
    
    Randomize (Timer)           '初始化随机数生成器
    For i = 1 To p_no
        Do
            a = 1
            a = Int(p_fw * Rnd) + 1
            b = Int(p_fw * Rnd) + 1
            c = Int(p_fw * Rnd) + 1
        Loop While a + b > p_fw
        
        If a < c Then
            Cells(i + 3, 1) = a & "+" & b & "="
        Else
            Cells(i + 3, 1) = a & "-" & c & "="
       End If
       Cells(i + 3, 2) = ""
       Cells(i + 3, 3) = ""
    Next i
End Sub

后来我对变量a、b、c增加了一行变量声明(Dim a As Integer, b As Integer, c As Integer),错误就没有了。

不过,我没有声明Option Explicit,因此变量是不需要声明的,况且另外两个变量p_fw和p_no也没有声明。仔细想想是不是变量名称太简单了?,于是我把a、b、c换成data_a、data_b、data_c,错误也没有了。

这样的报错不是真的错误,出现的也莫名其妙,毕竟以前是不报错的(那时的Excel不是现在的版本)。如果碰到这样的错误,检查一下,看看是不是变量名的问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值