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

作者: Dminor (低小調)   2019-04-25 18:09:11
軟體: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放進去了,
請大師們教教我,感激不盡!
作者: soyoso (我是耀宗)   2019-04-25 18:13:00
worksheets(4).cells(i,"b")= "=sum(sheet" & i &"!a1:a10)"可以執行 https://i.imgur.com/fPqUTpH.jpg有語法錯誤要提供,不然回文者怎麼知道是什麼錯誤先說變數i前面不加是不會有問題的,只是vbe編譯上會自動調整,而i後面不加直接是以i&的話,這在vba內是有其用法的用於宣告dim i& 表示宣告資料型態是long因此這樣的寫法用於字串連接&上就會產生編譯錯誤:語法錯誤為什麼& i &兩邊加的雙引號,先說 "& i &" 這裡兩邊的雙引號是對應最前面和最後面的雙引號,寫法為"字串" & i & "字串",字串前後需用雙引號表示一組因此原po回文也是正確的,字串才要用雙引號夾起來
作者: Dminor (低小調)   2019-04-25 19:25:00
我瞭解你的意思了,太感謝你了!!

Links booklink

Contact Us: admin [ a t ] ucptt.com