Board logo

標題: 公式 轉vba 要怎轉 [打印本頁]

作者: alex520188    時間: 2012-8-22 16:05     標題: 公式 轉vba 要怎轉

各位先進好

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

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

要怎寫呢?

A1=IF(ISNUMBER(OFFSET(BG7,0,-1)),OFFSET(BG7,0,-1)-OFFSET(BG7,0,-2),"")
作者: GBKEE    時間: 2012-8-22 20:38

回復 1# alex520188
Range("A1") = "=IF(ISNUMBER(OFFSET(BG7,0,-1)),OFFSET(BG7,0,-1)-OFFSET(BG7,0,-2),"""")"
作者: lalalada    時間: 2012-8-22 22:28

回復  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(.....)"
有什麼不同呢@@ ?
作者: GBKEE    時間: 2012-8-23 07:21

回復 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
複製代碼

作者: lalalada    時間: 2012-8-23 10:01

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


所以是Formula為字串?
Cells(1, 8) = "=5+B2+D2"
Cells(2, 8).Formula = "=5+B2+D2"
兩個結果在工作表上看起來是一樣的..
作者: alex520188    時間: 2012-8-23 10:27

回復 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
複製代碼

作者: c_c_lai    時間: 2012-8-23 10:32

回復 5# lalalada
欄值雖一樣,但其代表意義有其些異。如圖:
[attach]12239[/attach]
作者: GBKEE    時間: 2012-8-23 11:29

本帖最後由 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
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)