【发布时间】:2012-07-19 01:54:05
【问题描述】:
我正在尝试将值写入“A1”单元格,但出现以下错误:
应用程序定义或对象定义的错误'1004'
我在网上尝试了很多解决方案,但没有一个有效。我使用的是 excel 2007,文件扩展名为 .xlsm。
我的代码如下:
Sub varchanger()
On Error GoTo Whoa
Dim TxtRng As Range
Worksheets("Game").Activate
ActiveSheet.Unprotect
Set TxtRng = ActiveWorkbook.Sheets("Game").Cells(1, 1)
TxtRng.Value = "SubTotal"
'Worksheets("Game").Range("A1") = "Asdf"
LetsContinue:
Exit Sub
Whoa:
MsgBox Err.number
Resume LetsContinue
End Sub
编辑:如果我点击警告图标然后选择显示计算步骤它正常工作,则会出现错误
【问题讨论】:
-
如果我没有缺票,我会为
On Error Goto Whoa+1 -
@LittleBobbyTables 谢谢。这个错误真的吓到我了
-
我对此表示怀疑。我在 Bing 上搜索了您的错误消息,结果发现了各种各样的错误——所有这些都与语法有关。您是否尝试过通过 F8 单步执行代码以查找发生错误的行?有时在 Excel 调试器抛出错误时查看额外的调试信息有助于缩小范围。
-
尝试声明 TxtRng
As Excel.Range而不仅仅是Range。如果这不起作用,请尝试Worksheets("Game").Select而不是Activate。如果这不起作用,请先手动取消保护工作簿/工作表。 -
您打开了多少文件?就一个?尝试使用工作簿限定所有工作表引用:例如。
Worksheets("Game")应该是ThisWorkbook.Worksheets("Game")。然后注释掉错误处理程序并运行它,看看是哪一行的问题。
标签: vba excel excel-2007