我已经通过VBA创建了excel用户定义的公式,它将数据从Excel工作表加载到SQL服务器 . 我在工作表中使用了触发器,在执行之前由VBA Function验证 . 然后我连接到SQL服务器并使用“insert into [table] ...”语句将数据从Excel工作表加载到SQL Server . 这很好......几乎总是如此 . 有时,它会加载零值或零值 . 我不明白它是如何可能的,我该怎么做才能避免它 . 我将简要介绍数据 . 所以它加载年,月,帐号和 Value . VBA函数从四个单独的excel单元中读取所有这四个元素并插入到表中 . 但是我得到了一次正确的帐户,正确的金额,但是月份为零......我确定在excel单元格中有1到12之间的值,那么为什么它加载零呢?这可能与我迫使出口开始的方式有关吗?我使用下面的代码将触发器设置为“是”,然后强制计算公式(此过程链接到按钮):

Sub Export_LFVal()
    Range("D2").FormulaR1C1 = "yes"
    ActiveSheet.EnableCalculation = False
    ActiveSheet.EnableCalculation = True
    Application.Calculate
    Range("D2").FormulaR1C1 = "No"
End Sub