Board logo

標題: [發問] 用VBA輸入公式的問題 [打印本頁]

作者: play9091    時間: 2011-7-20 15:49     標題: 用VBA輸入公式的問題

本帖最後由 play9091 於 2011-7-20 15:51 編輯

例如:我想要在E3這一格裡面輸入「=text(right(A11,8),"hh:mm:ss")>="02:00:00"」

我用VBA寫成下面這樣子
Range("E4").Value = "=Text(Right(A11, 8), " & "hh:mm:ss" & ") >= " & "02:00:00"""

但跑的時候會出錯,沒有辦法寫到儲存格裡面,請問一下,這要怎麼寫??
作者: GBKEE    時間: 2011-7-20 16:33

回復 1# play9091
Range("E4").Value = "=Text(Right(A11, 8), ""hh:mm:ss"") >= ""02:00:00"""
作者: play9091    時間: 2011-7-20 16:51

喔!
原來可以不用連接符號(&),那再請問,什麼情況下須要用到連接符號,又什麼情況下不須要呢??
作者: GBKEE    時間: 2011-7-20 19:35

回復 3# play9091
  1. Sub Ex()
  2.     Dim A As String
  3.     A = """02:00:00"""
  4.     Range("E4").Value = "=Text(Right(A11, 8), ""hh:mm:ss"") >=" & A
  5. End Sub
複製代碼

作者: play9091    時間: 2011-7-20 19:57

OK,了解了,當用變數的時候就須要用到連接號(&)……
作者: Hsieh    時間: 2011-7-20 20:47

回復 5# play9091

這最主要的原因是因為你的字串內包含雙引號"
這樣的雙引號是屬於字串的一部分
這種情形的語法一個雙引號必須是4個"所表示
如果怕算錯,可利用錄製巨集取得正確寫法
亦可使用CHR函數來表示"
  1. Sub Ex()
  2. n = """"
  3. MsgBox n
  4. MsgBox "=Text(Right(A11, 8)," & Chr(34) & "hh:mm:ss" & Chr(34) & ")>=" & Chr(34) & "02:00:00" & Chr(34)
  5. End Sub
複製代碼





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