[問題] Range(A1).Value =

看板Office作者 (一 身 是 宅)時間3年前 (2020/11/09 20:13), 3年前編輯推噓0(0021)
留言21則, 3人參與, 3年前最新討論串1/1
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體: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
"=countif(b1:b10,"">0"")"
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
"=countif(b1:b10,">0")"這樣打的話
11/09 21:06, 2F

11/09 21:06, 3年前 , 3F
"=countif(b1:b1," 這是一個字串 ")" 這也是一個字串,中
11/09 21:06, 3F

11/09 21:06, 3年前 , 4F
間是>0而非連接符號&
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
"=countif(b1:b10," ">0" ")"
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
當然不是,那""""這個是一個雙引號,以原po的理解,不就是
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
原po回文「"單引號 改成 "" 雙引號」
11/09 22:12, 16F

11/09 22:12, 3年前 , 17F
我11/09 21:48的回文是要和原po說 '這才是叫單引號
11/09 22:12, 17F

11/09 22:12, 3年前 , 18F
那裡有寫 wiki 有說明
11/09 22:12, 18F

11/09 22:12, 3年前 , 19F

11/09 22:17, 3年前 , 20F
嗯 我那時理解錯誤 那時應該要說 單一個雙引號
11/09 22:17, 20F

11/10 22:23, 3年前 , 21F
可以google跳脫字元
11/10 22:23, 21F
文章代碼(AID): #1VgJ9Ul9 (Office)