如何通过VBA,在单元格中插入一个带有“-”或“$”等特殊字符的公式?
How to insert, through VBA, a formula in a cell with special characters like "-" or "$"?
我在互联网上搜索,没有任何帮助...
我只是希望能够让我的 VBA 代码在单元格中编写此公式:
=IF(C4="-"; "-"; Cars!C4*C4*Data!$C)
如您所料,有一个名为 "Cars" 的页面和一个名为 "Data" 的页面,我可以在其中选择所需的信息。
当然,因为它是 VBA 代码,C4 将有 2 个变量,一个用于 C,一个用于将进化的 4...
实际上,我试过这个:
Worksheets("Calculation").Range(Column & PosStartCalc + 1).Formula = "=" & "IF(" & Column & PosStartCalc & " = " & "" - "" & ";" & " - " & ";" & "Cars!" & Column & PosStart & "*" & Column & PosStartCalc & "*" & "Data!" & "C" & "8" & ")"
(变量Column包含列字母,变量PosStartCalc包含行号)
这伤害了我的眼睛,显然也伤害了 VBA 的眼睛,因为它给出了错误“运行-时间错误‘13’:类型不匹配”
谁能告诉我该怎么做?
提前致谢!
尝试以下操作,假设列变量是一个字符串,行是一个长变量。我可能没有正确设置所有变量,但您将能够在这里得到我的意思。
Sub test()
Dim Col As String: Col = "C"
Dim Rw As Long: Rw = 4
With ThisWorkbook.Sheets("Calculation")
Debug.Print "=IF(" & Col & Rw & "=""-"",""-"",Cars!" & Col & Rw & "*" & Col & Rw & "*Data!$C)"
.Cells(Rw + 1, Col).Formula = "=IF(" & Col & Rw & "=""-"",""-"",Cars!" & Col & Rw & "*" & Col & Rw & "*Data!$C)"
End With
End Sub
所以您可能很容易忘记的是在 VBA 编程公式中使用 ,
作为参数定界符。当您将它放在 sheet 上时,Excel 会自动将其替换为适合您所在地区的分隔符。
还有一点要记住;每当您要在此类函数中使用字符串值时,请不要忘记将其用双引号引起来!
不要忘记删除 Debug.print ....
行。它只是用来显示输出:)
我在互联网上搜索,没有任何帮助... 我只是希望能够让我的 VBA 代码在单元格中编写此公式:
=IF(C4="-"; "-"; Cars!C4*C4*Data!$C)
如您所料,有一个名为 "Cars" 的页面和一个名为 "Data" 的页面,我可以在其中选择所需的信息。
当然,因为它是 VBA 代码,C4 将有 2 个变量,一个用于 C,一个用于将进化的 4... 实际上,我试过这个:
Worksheets("Calculation").Range(Column & PosStartCalc + 1).Formula = "=" & "IF(" & Column & PosStartCalc & " = " & "" - "" & ";" & " - " & ";" & "Cars!" & Column & PosStart & "*" & Column & PosStartCalc & "*" & "Data!" & "C" & "8" & ")"
(变量Column包含列字母,变量PosStartCalc包含行号)
这伤害了我的眼睛,显然也伤害了 VBA 的眼睛,因为它给出了错误“运行-时间错误‘13’:类型不匹配” 谁能告诉我该怎么做?
提前致谢!
尝试以下操作,假设列变量是一个字符串,行是一个长变量。我可能没有正确设置所有变量,但您将能够在这里得到我的意思。
Sub test()
Dim Col As String: Col = "C"
Dim Rw As Long: Rw = 4
With ThisWorkbook.Sheets("Calculation")
Debug.Print "=IF(" & Col & Rw & "=""-"",""-"",Cars!" & Col & Rw & "*" & Col & Rw & "*Data!$C)"
.Cells(Rw + 1, Col).Formula = "=IF(" & Col & Rw & "=""-"",""-"",Cars!" & Col & Rw & "*" & Col & Rw & "*Data!$C)"
End With
End Sub
所以您可能很容易忘记的是在 VBA 编程公式中使用 ,
作为参数定界符。当您将它放在 sheet 上时,Excel 会自动将其替换为适合您所在地区的分隔符。
还有一点要记住;每当您要在此类函数中使用字符串值时,请不要忘记将其用双引号引起来!
不要忘记删除 Debug.print ....
行。它只是用来显示输出:)