返回列表 上一主題 發帖

公式 轉vba 要怎轉

公式 轉vba 要怎轉

各位先進好

一串函數公式 要把它寫進程式碼中

執行之後想保有原公式 出現在我要的儲存格

要怎寫呢?

A1=IF(ISNUMBER(OFFSET(BG7,0,-1)),OFFSET(BG7,0,-1)-OFFSET(BG7,0,-2),"")

回復 1# alex520188
Range("A1") = "=IF(ISNUMBER(OFFSET(BG7,0,-1)),OFFSET(BG7,0,-1)-OFFSET(BG7,0,-2),"""")"

TOP

回復  alex520188
Range("A1") = "=IF(ISNUMBER(OFFSET(BG7,0,-1)),OFFSET(BG7,0,-1)-OFFSET(BG7,0,-2)," ...
GBKEE 發表於 2012-8-22 20:38


想順便問一下
Range("A1") = "=IF(.....)" 跟
Range("A1").Formula ="=IF(.....)"
有什麼不同呢@@ ?

TOP

回復 3# lalalada
  1. Option Explicit
  2. Sub Ex()
  3. [A1] = "=5+B2+D2"
  4. MsgBox Range("A1")
  5. MsgBox Range("A1").Formula
  6. End Sub
複製代碼

TOP

回復  lalalada
GBKEE 發表於 2012-8-23 07:21


所以是Formula為字串?
Cells(1, 8) = "=5+B2+D2"
Cells(2, 8).Formula = "=5+B2+D2"
兩個結果在工作表上看起來是一樣的..

TOP

回復 4# GBKEE


    謝謝G版指點  下面2種寫法  跟我所要的結果都是一樣的??
Range("A1") = "=IF(.....)" 跟
Range("A1").Formula ="=IF(.....)"

所以都通用是嗎0.0?
  1. Sub NN123()
  2. Range("A1") = "=IF(ISNUMBER(OFFSET(G1,0,-1)),OFFSET(G1,0,-1)-OFFSET(G1,0,-2),"""")"
  3. Range("A2").Formula = "=IF(ISNUMBER(OFFSET(G2,0,-1)),OFFSET(G2,0,-1)-OFFSET(G2,0,-2),"""")"
  4. End Sub
複製代碼

TOP

回復 5# lalalada
欄值雖一樣,但其代表意義有其些異。如圖:

TOP

本帖最後由 GBKEE 於 2012-8-23 11:33 編輯

差別是
Formula 屬性             傳回或設定 A1 樣式註解以及巨集語言中的物件公式。讀/寫 Variant 資料類型。
FormulaR1C1 屬性   傳回或設定物件的公式,用巨集語言的 R1C1 樣式符號表示。Range 物件為讀/寫 Variant,Series 物件為讀/寫 String
  1. Option Explicit
  2. Sub Ex()
  3.     Dim e As Range
  4.     Range("d10") = "=d5"     'Formula            A1 樣式
  5.     Range("d11") = "=r5c4" 'FormulaR1C1   R1C1 樣式
  6.     For Each e In [d10:d11]
  7.     MsgBox e.Address(0, 0) & Chr(10) & "Formula " & e.Formula & Chr(10) & "FormulaR1C1 " & e.FormulaR1C1
  8.     Next
  9. End Sub
複製代碼

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題