作者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/cn.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