作者hmsboy (一 身 是 宅)
看板Office
標題[問題] Range(A1).Value =
時間Mon Nov 9 20:13:15 2020
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體: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://webptt.com/m.aspx?n=bbs/Office/M.1604923998.A.BC9.html
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 20:18:39
1F:→ soyoso: "=countif(b1:b10,"">0"")" 11/09 20:19
語法錯誤?
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
2F:→ soyoso: "=countif(b1:b10,">0")"這樣打的話 11/09 21:06
3F:→ soyoso: "=countif(b1:b1," 這是一個字串 ")" 這也是一個字串,中 11/09 21:06
4F:→ soyoso: 間是>0而非連接符號& 11/09 21:06
5F:→ soyoso: 就語法錯誤 11/09 21:06
6F:→ soyoso: 在舉例的這個公式字串內要將"調整為"" 11/09 21:07
我的理解是
"=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
7F:→ soyoso: "=countif(b1:b10," ">0" ")" 11/09 21:31
8F:→ soyoso: 不了解這個什麼,三個字串? 11/09 21:31
在說 21:06 那五行的內容
字串內要將"調整為""
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:37:37
9F:→ soyoso: 當然不是,那""""這個是一個雙引號,以原po的理解,不就是 11/09 21:39
10F:→ soyoso: "" "" 11/09 21:39
喔
所以
把要 嵌入的公式 所有 " 改成 ""
然後前後
Range("A1").Value = " 改好要嵌入的公式 "
"單引號 改成 "" 雙引號
""本身就是一個寫法
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:43:38
11F:→ soyoso: 內文公式字串內要保留雙引號時要調整為"",而非以三段來看 11/09 21:42
12F:→ soyoso: "←這是單引號嗎?還是這個'也是單引號 11/09 21:48
這應該跟 單雙引號無關
就是VBA的寫法
例如這次要加入
="一般字串"&B1 ← 原本在儲存格寫法
Range("A1").Value =" =""一般字串""&B1"
這樣對嗎?
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 21:58:51
13F:→ soyoso: 這個公式就是將"調整為"",是否有可能有特例就要視情況了 11/09 21:53
14F:→ soyoso: ,我不可能再這裡就說嵌入的公式所有"改成"" 11/09 21:53
15F:→ soyoso: 對不對測試不就知道了 11/09 22:01
我理解這個寫法了 當初這樣設計 大概是excel跟vba衝突吧
可能有特例 但通常都適用對吧
目前ok了 謝謝
※ 編輯: hmsboy (220.142.47.17 臺灣), 11/09/2020 22:08:52
16F:→ soyoso: 原po回文「"單引號 改成 "" 雙引號」 11/09 22:12
17F:→ soyoso: 我11/09 21:48的回文是要和原po說 '這才是叫單引號 11/09 22:12
18F:→ soyoso: 那裡有寫 wiki 有說明 11/09 22:12
20F:→ hmsboy: 嗯 我那時理解錯誤 那時應該要說 單一個雙引號 11/09 22:17
21F:→ newacc: 可以google跳脫字元 11/10 22:23