我的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内部使用VBAwrkShr与wrkSht不同:
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创建工作表对象。wrkShr与wrkSht不同:
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。不幸的是,我的代码中拼写正确。。