我有以下(以前工作)的代码,将公式转换为它们的常量值。我将它附加到电子表格上的表单按钮上。它工作正常,然后决定休息。我点击按钮或运行宏,一个盒子出现“自动化错误”。 Excel帮助将其描述为“自动化错误(错误440)”。
我遵循论坛的建议,在各个地方插入“On Error Resume Next”语句。我已经尝试重新创建宏。我尝试了一些不同版本的宏。但还没有设法解决它。我如何摆脱这个错误?它是否类似于Java和Python中的try catch语句?VBA - 自动化错误 - Excel 2013
Sub RangeOfFormulasToConstants()
'
' Changes a selection of Formulas into their values thus removing the formula.
'
' Keyboard Shortcut: Ctrl+q
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Useful box"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each Rng In WorkRng
Rng.Value = Rng.Text
Next
Application.ScreenUpdating = True
End Sub
我有其他的宏,目前与电子表格和表单按钮工作。详细如下。
Sub CopyFormulasNonCalculate()
'
' PasteMacro Macro
'
' Keyboard Shortcut: Ctrl+m
'
On Error Resume Next
Set Ret = Application.InputBox(Prompt:="Please select a range where you want to paste", Type:=8)
On Error GoTo 0
If Not Ret Is Nothing Then
Selection.Copy
Range("C2:F2").Copy Destination:=Ret
Application.CutCopyMode = False
End If
End Sub
Sub CopyFormulasCalculate()
Dim Ret As Range
Dim RangeToCopy As Range
Set RangeToCopy = Range("H3:AF3")
'
' PasteMacro Macro
'
' Keyboard Shortcut: Ctrl+m
'
Set Ret = Application.InputBox(Prompt:="Please select a range where you want to paste", Type:=8)
If Not Ret Is Nothing Then
RangeToCopy.Copy Destination:=Ret
Ret.Resize(1, RangeToCopy.Columns.Count).Calculate
Application.CutCopyMode = False
End If
End Sub
什么行有错误? – 99moorem
Sub RangeOfFormulasToConstants() – AMorton1989
这根本没什么意义。 – AMorton1989