以下简单测试函数始终生成1004错误消息:

Function MyTesting() As String
  On Error GoTo myErrorHandler
  ActiveSheet.Unprotect
  ActiveSheet.Range("A2").Value = "Testing"
  MyTesting = "Done"
  Exit Function

myErrorHandler:
  MyTesting = Err.Number
End Function

我已将函数调用放在工作簿的另一个空工作表的单元格“A1”中,该工作簿启用了宏,扩展名为.xlsm . 只有单元格“A1”设置为“受保护”,工作表不受保护 . 我还查看了文件 - >选项,并将所有内容设置为开放/危险,因为Excel将允许!

使用断点我已经确认它是:

ActiveSheet.Range("A2").Value = "Testing"

这会导致调用myErrorHandler . 我也尝试了很多不同的变体,都有同样的问题,包括:

Range("A2") = "Testing"
  Cells(2,1).Value = "Testing"
  ActiveSheet.Cells(2,1) = "Testing"

任何人都可以提出进一步的建议,我可以尝试,停止得到这个1004错误?