[算表] 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