VBA公式计算中通过用户输入值进行除法运算



在计算公式时,我一直使用用户输入的小数(货币换算,例如1.12(。我不知道如何在公式中引用myvalue,也不知道是否需要将其调暗为double或vartype?

输入的值(例如1.12(应用于计算的所有3个范围行,但现在我遇到了名称错误,因为在我运行宏后,公式无法识别myvalue。我在定义上做错了什么?


' convert_in_EUR_column_GHL Macro
Dim gRow As Long, hRow As Long
Dim myvalue As Double
gRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 7).End(xlUp).Row
hRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 8).End(xlUp).Row
myvalue = InputBox("Enter 2 decimal currency conversion rate")

Range("M2").Resize(gRow).FormulaR1C1 = "=IFERROR(IF(IFERROR(RC[-6]/myvalue,"""")=0,"""",RC[-6]/myvalue),"""")"
Range("N2").Resize(hRow).FormulaR1C1 = "=IF(IFERROR(RC[-6]/myvalue,"""")=0,"""",RC[-6]/myvalue)"
Range("O2").Resize(hRow).FormulaR1C1 = "=IF(IFERROR(RC[-3]/myvalue,"""")=0,"""",RC[-3]/myvalue)"

您没有错误地实现它。

Range("M2").Resize(gRow).FormulaR1C1 = "=IFERROR(IF(IFERROR(RC[-6]/myvalue,"""")=0,"""",RC[-6]/myvalue),"""")"

应该是

Range("M2").Resize(gRow).FormulaR1C1 = "=IFERROR(IF(IFERROR(RC[-6]/" & myvalue & ","""")=0,"""",RC[-6]/" & myvalue & "),"""")"

因为公式将不能评估作为存储在存储器中的变量的CCD_ 5部分。同样,您应该能够修复其他公式。

最新更新