[問題] Range(A1).Value =
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:office
版本:2019
某個巨集一段
Range("A1").Value = 1
跑完後 A1儲存格 裡面的值是 1
但是如果 A1儲存格是空白
我想要這個巨集跑完後
A1這個儲存格寫入公式
=COUNTIF(B1:B10,">0")
讓A1裡面的值是 上面紅字
原本"Range("A1").Value = 1"這一段 要怎麼改寫?
也就是意思是 "利用VBA在儲存格中寫入公式"
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.142.47.17 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1604923998.A.BC9.html
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 20:18:39
→
11/09 20:19,
3年前
, 1F
11/09 20:19, 1F
語法錯誤?
Range("A1").Value = "=countif(b1:b10,"">0"")"
是我寫錯了
我寫成
Range("A1").Value = "=countif(b1:b10,">0")"
這要怎麼看結構?
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 20:48:02
原本我以為只要
"=countif(b1:b10,">0")"
"公式"
而
"=countif(b1:b10,"">0"")"
的原理是什麼?
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:01:24
→
11/09 21:06,
3年前
, 2F
11/09 21:06, 2F
→
11/09 21:06,
3年前
, 3F
11/09 21:06, 3F
→
11/09 21:06,
3年前
, 4F
11/09 21:06, 4F
→
11/09 21:06,
3年前
, 5F
11/09 21:06, 5F
→
11/09 21:07,
3年前
, 6F
11/09 21:07, 6F
我的理解是
"=countif(b1:b10," ">0" ")"
為了不讓算式混進去 把會影響的""成字串
是這樣嗎?
但是 要嵌入的公式 裡面如果有幾個"xxx" 全都改""xxx""
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:19:29
還是 把要 嵌入的公式 所有 " 改成 ""
然後前後 Range("A1").Value = " 改好要嵌入的公式 "
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:24:07
→
11/09 21:31,
3年前
, 7F
11/09 21:31, 7F
→
11/09 21:31,
3年前
, 8F
11/09 21:31, 8F
在說 21:06 那五行的內容
字串內要將"調整為""
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:37:37
→
11/09 21:39,
3年前
, 9F
11/09 21:39, 9F
→
11/09 21:39,
3年前
, 10F
11/09 21:39, 10F
喔
所以
把要 嵌入的公式 所有 " 改成 ""
然後前後 Range("A1").Value = " 改好要嵌入的公式 "
"單引號 改成 "" 雙引號
""本身就是一個寫法
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:43:38
→
11/09 21:42,
3年前
, 11F
11/09 21:42, 11F
→
11/09 21:48,
3年前
, 12F
11/09 21:48, 12F
這應該跟 單雙引號無關
就是VBA的寫法
例如這次要加入
="一般字串"&B1 ← 原本在儲存格寫法
Range("A1").Value =" =""一般字串""&B1"
這樣對嗎?
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:58:51
→
11/09 21:53,
3年前
, 13F
11/09 21:53, 13F
→
11/09 21:53,
3年前
, 14F
11/09 21:53, 14F
→
11/09 22:01,
3年前
, 15F
11/09 22:01, 15F
我理解這個寫法了 當初這樣設計 大概是excel跟vba衝突吧
可能有特例 但通常都適用對吧
目前ok了 謝謝
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 22:08:52
→
11/09 22:12,
3年前
, 16F
11/09 22:12, 16F
→
11/09 22:12,
3年前
, 17F
11/09 22:12, 17F
→
11/09 22:12,
3年前
, 18F
11/09 22:12, 18F
→
11/09 22:12,
3年前
, 19F
11/09 22:12, 19F
→
11/09 22:17,
3年前
, 20F
11/09 22:17, 20F
→
11/10 22:23,
3年前
, 21F
11/10 22:23, 21F