excel中vba用for语句对多个单元格赋值的问题

新手求大神指教将表sheet1的C2至C32单元格依次赋值:C2的值为表sheet2的i4到i35之和,C3的值为表sheet3的i4到i35之和,依次类推。Sheet1... 新手求大神指教
将表sheet1的C2至C32单元格依次赋值:C2的值为表sheet2的i4到i35之和,C3的值为表sheet3的i4到i35之和,依次类推。
Sheet1.Range("c2") = Application.WorksheetFunction.Sum(Sheet2.Range("i4:i35"))
Sheet1.Range("c3") = Application.WorksheetFunction.Sum(Sheet3.Range("i4:i35"))
Sheet1.Range("c4") = Application.WorksheetFunction.Sum(Sheet4.Range("i4:i35"))
......
Sheet1.Range("c32") = Application.WorksheetFunction.Sum(Sheet32.Range("i4:i35"))
上述语句如何用for语句简化?我尝试了定义一个变量z,代码如下:
Private Sub 试验1_Click()
Dim z As Integer
For z = 2 To 32
Sheet1.Range("c&z") = Application.WorksheetFunction.Sum(Sheets(CStr(z)).Range("i4:i35"))
Next
End Sub
运行后提示下标越界,该如何修改,问题出在哪里,该如何修改?求指教。
展开
 我来答
硅谷少年
2017-05-25 · TA获得超过7556个赞
知道大有可为答主
回答量:7116
采纳率:82%
帮助的人:1427万
展开全部
Sheet1.Range("c" & z) = Application.WorksheetFunction.Sum(Sheets(z).Range("i4:i35"))

改成上面这样即可。多练习。照抄别人代码再修改也是很好学习,多看excelhome论坛。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式