变量始终为零

时间:2019-01-21 18:53:44

标签: excel vba

我正在尝试将变量分配给单元格值,但由于某种原因我总是得到零。

Sheets(3).Activate

RowNo = 30
ColNo = 2

EU1 = Range(Cells(RowNo, ColNo).Address()).Value

MsgBox EU1

Check the image for cell address and value

我使用Range(Cells(RowNo, ColNo))的原因是因为我有一个需要循环访问的表来检查日期,如果它等于(或者小于今天)变量EU1将被更新。 / p>

1 个答案:

答案 0 :(得分:0)

返回值

一些技巧

  • 如果您的值不会改变,请使用常量(Const)。
  • Dim声明其他变量。
  • 在每个模块的开头,请始终使用Option Explicit,这样,如果未声明变量(DimConst ... 现在)。
  • 对于对象(工作表,工作簿,范围),您必须使用 Set语句。

代码

Option Explicit

Sub ReturnValue()

    Const cSheet As String = "Sheet3"
    Const cRow As Long = 30
    Const cCol As Long = 2

    Dim ws As Worksheet
    Dim EU1 As Double

    Set ws = ThisWorkbook.Worksheets(cSheet)

    EU1 = ws.Cells(cRow, cCol).Value

    MsgBox EU1

End Sub