我做了一个小外接为Excel。 但由于某种原因失败。 Excel中的一个新启动后它工作正常,但是当我复制粘贴文本到Excel,并尝试运行它,它给我的错误:运行时“1004”的对象,方法'值“范围”失败。
我想要做的,是不干简单。 我喜欢构建式的,如:(B5 + B6)/ 2,而不在前面使用的“=”,以便Excel不计算这些表达式。 我结束了一个大列,我完成后,我想选择与计算列的第一个单元格,激活我的插件和他在前面所说的“=”和循环向下,直到一个空单元格。 这样,在我的专栏每个单元现在计算。
我输了,你能帮帮我吗?
Sub makeFormula()
Do
ActiveCell.Value = "=" & ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop While ActiveCell.Value <> Empty
end Sub
我已经找到了解决办法,调试我发现,逗号是问题,所以我改变逗号点,然后计算。 现在,它的工作原理就像一个魅力。
Sub makeFormula()
Dim Temp As String
Do
Temp = ActiveCell.Value2
Temp = Replace(Temp, ",", ".", 1)
ActiveCell.Formula = "=" & Temp
ActiveCell.Offset(1, 0).Select
Loop While ActiveCell.Value2 <> Empty
End Sub
感谢您的建议。
Sub makeFormula()
Dim c as range
Set c = selection.cells(1) 'in case >1 cell is selected
do while len(c.value) > 0
'need to put quotes around the value if not a number
'c.Formula = "=""" & c.Value & """"
'use this if the value is a valid formula without =
c.Formula = "=" & c.Value
Set c=c.Offset(1, 0)
Loop
End Sub
您需要将值传递给临时字符串变量。 为我工作:
Sub makeFormula()
Dim Temp As String
Do
Temp = ActiveCell.Value2
ActiveCell.Formula = "=" & Temp
ActiveCell.Offset(1, 0).Select
Loop While ActiveCell.Value2 <> Empty
End Sub