返回列表 上一主題 發帖

[發問] 用VBA輸入公式的問題

[發問] 用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"""

但跑的時候會出錯,沒有辦法寫到儲存格裡面,請問一下,這要怎麼寫??
初學VBA乍到twbts

回復 1# play9091
Range("E4").Value = "=Text(Right(A11, 8), ""hh:mm:ss"") >= ""02:00:00"""

TOP

喔!
原來可以不用連接符號(&),那再請問,什麼情況下須要用到連接符號,又什麼情況下不須要呢??
初學VBA乍到twbts

TOP

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

TOP

OK,了解了,當用變數的時候就須要用到連接號(&)……
初學VBA乍到twbts

TOP

回復 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
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題