[算表] vba將公式中的sheet!改成變數

看板Office作者 (低小調)時間7年前 (2019/04/25 18:09), 7年前編輯推噓0(0013)
留言13則, 2人參與, 7年前最新討論串1/1
軟體:excel 版本:2007 大家好,我是VBA菜鳥,問題如下: 假設我現在有4個工作表,名稱分別為sheet1, sheet2, sheet3, sheet4。 我想在sheet4的B1、B2、B3中分別存入sheet1~3的A1到A10的加總, 也就是 sheet4的B1 = SUM(sheet1!A1:A10) sheet4的B2 = SUM(sheet2!A1:A10) sheet4的B3 = SUM(sheet3!A1:A10) 那如果我想用VBA達成此功能的話該如何寫呢? 我是打算這樣寫: Dim i As Integer For i = 1 to 3 Worksheets(4).Cells(i,"B") = ????? 等號後面的部分就不知道怎麼把SUM的公式結合變數i放進去了, 請大師們教教我,感激不盡! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 117.56.186.7 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1556186953.A.9CB.html

04/25 18:13, 7年前 , 1F
worksheets(4).cells(i,"b")= "=sum(sheet" & i &
04/25 18:13, 1F

04/25 18:13, 7年前 , 2F
"!a1:a10)"
04/25 18:13, 2F
出現 語法錯誤 的報錯欸

04/25 18:54, 7年前 , 3F
04/25 18:54, 3F

04/25 18:55, 7年前 , 4F
有語法錯誤要提供,不然回文者怎麼知道是什麼錯誤
04/25 18:55, 4F
成功了! 我發現是i兩邊加了空白就成功了 感謝s大,請教一下為什麼這邊i的兩邊需要加空格阿?

04/25 19:10, 7年前 , 5F
先說變數i前面不加是不會有問題的,只是vbe編譯上會自動調
04/25 19:10, 5F

04/25 19:11, 7年前 , 6F
整,而i後面不加直接是以i&的話,這在vba內是有其用法的
04/25 19:11, 6F

04/25 19:11, 7年前 , 7F
用於宣告dim i& 表示宣告資料型態是long
04/25 19:11, 7F

04/25 19:13, 7年前 , 8F
因此這樣的寫法用於字串連接&上就會產生編譯錯誤:語法錯誤
04/25 19:13, 8F
再請教一個問題, 為什麼& i &兩邊要加雙引號阿?雙引號的使用時機是什麼? 我以為是字串才要用引號夾起來@@ ※ 編輯: Dminor (117.56.186.7), 04/25/2019 19:16:21

04/25 19:18, 7年前 , 9F
為什麼& i &兩邊加的雙引號,先說 "& i &" 這裡兩邊的雙引
04/25 19:18, 9F

04/25 19:20, 7年前 , 10F
號是對應最前面和最後面的雙引號,寫法為"字串" & i & "字
04/25 19:20, 10F

04/25 19:21, 7年前 , 11F
串",字串前後需用雙引號表示一組
04/25 19:21, 11F

04/25 19:23, 7年前 , 12F
因此原po回文也是正確的,字串才要用雙引號夾起來
04/25 19:23, 12F

04/25 19:25, 7年前 , 13F
我瞭解你的意思了,太感謝你了!!
04/25 19:25, 13F
文章代碼(AID): #1SmOT9dB (Office)
文章代碼(AID): #1SmOT9dB (Office)