我的VBA不是';不会返回任何错误,但不会在MS Excel中设置单元格的值

我的VBA不是';不会返回任何错误,但不会在MS Excel中设置单元格的值,excel,vba,ms-access,Excel,Vba,Ms Access,我不明白为什么我的程序不能按我的计划运行。我在程序的其余部分使用了非常类似的代码来设置值,但是对于这个特定的集合,代码将不起作用 public sub setValue(wrkBook as object, wrkSht as object) dim CurCell as object wrkSht = wrkbook.Sheets("TestSheet") Set curCell = wrkSht.Cells(4,1) CurCell.Value = "Test

我不明白为什么我的程序不能按我的计划运行。我在程序的其余部分使用了非常类似的代码来设置值,但是对于这个特定的集合,代码将不起作用

public sub setValue(wrkBook as object, wrkSht as object)
    dim CurCell as object
    wrkSht = wrkbook.Sheets("TestSheet")
    Set curCell = wrkSht.Cells(4,1)
    CurCell.Value = "Test"
end sub

不会返回任何错误。我只是没有将单元格(4,1)的值设置为“test”。我从Access内部使用VBA

wrkShrwrkSht不同:

Public Sub setValue(wrkBook As Object)
    Dim CurCell As Range, wrkSht As Worksheet
    Set wrkSht = wrkBook.Sheets("TestSheet")
    Set CurCell = wrkSht.Cells(4, 1)
    CurCell.Value = "Test"
End Sub
注意:


除了拼写,我们还更正了Dim,并使用Set创建工作表对象。

wrkShrwrkSht不同:

Public Sub setValue(wrkBook As Object)
    Dim CurCell As Range, wrkSht As Worksheet
    Set wrkSht = wrkBook.Sheets("TestSheet")
    Set CurCell = wrkSht.Cells(4, 1)
    CurCell.Value = "Test"
End Sub
注意:


除了拼写,我们还更正了Dim,并使用Set创建工作表对象。

这是您代码的精确副本吗?如果是这样,我建议您对
CurCell
/
CurCell
有问题。编辑会自动将这些修改为相同,但如果大写不相同,这会向我表明有可疑之处。您是否在任何地方声明了变量
wrkShr
?要添加到上述注释,
wrkShr-wrkSht
。我会打开
选项Explicit
来捕捉这些类型的错误。您是否有
OnError Resume Next
在呼叫树的更上一层您发布的代码将出错。您的最新编辑也不会运行无错误。您必须设置wrkSht=wrkbook.Sheets(“TestSheet”)而不是
wrkSht=wrkbook.Sheets(“TestSheet”)
隐式使用对象而不是更显式的引用(如工作簿、工作表和范围)?这是您的代码的精确副本吗?如果是这样,我建议您对
CurCell
/
CurCell
有问题。编辑会自动将这些修改为相同,但如果大写不相同,这会向我表明有可疑之处。您是否在任何地方声明了变量
wrkShr
?要添加到上述注释,
wrkShr-wrkSht
。我会打开
选项Explicit
来捕捉这些类型的错误。您是否有
OnError Resume Next
在呼叫树的更上一层您发布的代码将出错。您的最新编辑也不会运行无错误。您必须设置wrkSht=wrkbook.Sheets(“TestSheet”)而不是
wrkSht=wrkbook.Sheets(“TestSheet”)
您之所以隐式使用对象,而不是更明确的引用,如工作簿、工作表和范围?对不起,在这里重新键入代码时,我拼写错误了wrkSht。不幸的是,我的代码拼写正确。对不起,在这里重新键入代码时,我拼写错了wrkSht。不幸的是,我的代码中拼写正确。。