[英]VBA put literal value of string into an excel cell
Excel 2010 有沒有辦法將字符串變量的文字內容放入 excel 單元格中?
我可以用這段硬代碼實現我想做的事情,但這段代碼深藏在嵌套的子例程中。 我想對此進行軟編碼,以便將 Formula_wanted 的內容插入到單元格中。 下面是將公式值放入單元格的代碼。
If modifier1 = "ILMROS " Then
Range("M4").Select
ActiveCell.FormulaR1C1 = "Sales Total"
Range("M5").Select
ActiveCell.FormulaR1C1 = "=[@701]+[@707]+[@708]+[@709]+[@712]"
問題在於類別一直在變化。 它們是從輸入表上的 1 個表中讀取的。 如果我能做到在類別更改時只需要更改此輸入表,那么就沒有人需要深入研究代碼來查找由此產生的問題。
我可以獲得 VBA 在變量中創建我想要的字符串,但是,嘗試下面的所有操作,我無法將變量中的字符串放入單元格“M5”。 根據操作系統的規則,我已經包含了我嘗試過的所有內容以及收到的錯誤。 感謝您提供的任何幫助。
Dim Formula_wanted as string (also tried Dim as Variant, same results)
Formula_wanted = "=[@"
For x = 1 To UBound(ILMROS) - 1
Formula_wanted = Formula_wanted & ILMROS(x) & "]+[@"
Next x
Formula_wanted = Formula_wanted & ILMROS(UBound(ILMROS)) & "]"
MsgBox "my formula is: " & Formula_wanted
'shows this in msgbox: my formula is: = "=[@701]+[@707]+[@708]+[@709]+[@712]"
'@@@@@@@@@@@@@@@@@@@@@@
These all failed:
Range("Y5").Text = Formula_wanted
' error 424
Range("Y5").Value = Formula_wanted
error 1004
Range("y5").Formula = Formula_wanted
'error 1004
Range("Y5").FormulaR1C1 = Formula_wanted
error 1004
Cells(4, 24).Select
error 424
ActiveCell.Text = Formula_wanted
'error 424
Set Ob = Range("Y5") ' Ob dim as "object"
Ob.Value = Formula_wanted
'1004
Ob.Text = Formula_wanted
'1004
Cells(4, 24).Text = Formula_wanted
'1004
ActiveCell.Text = Formula_wanted
'1004
Range("Y5").FormulaLocal = Formula_wanted
'error 1004
End Sub
目前尚不清楚您的公式試圖做什么,但我沒有足夠的聲譽來發表評論。 通過將公式設置為“=[@701]+[@707]+[@708]+[@709]+[@712]”,看起來您正在嘗試從名為 701、707 等的表列中添加值。
如果這是你正在做的,那么要么:
a) 您引用了表中不存在的列; 或 b) “Y5”不在表中。
如果是 a),則更正列名。 如果是 b) 則將您的公式更改為
"=表 1[@701]+表 1[@707]+表 1[@708]+表 1[@709]+表 1[@712]"
如果您正在嘗試執行其他操作(例如引用表中的特定行),那么您可能需要完全重新考慮並考慮使用 ListObject。 我發現此鏈接過去非常有用。
為了進一步澄清,您的字符串變量中的公式值似乎無效。
帶有有效字符串變量的示例
Dim validFormulaString As String
validFormulaString = "=1+2"
Range("A1").Formula = validFormulaString
String 變量的示例不起作用,因為結果公式無效
Dim invalidFormulaString As String
invalidFormulaString = "=1$2"
Range("A1").Formula = invalidFormulaString
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.