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

新手求大神指教
将表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
运行后提示下标越界,该如何修改,问题出在哪里,该如何修改?求指教。

Sheet1.Range("c" & z) = Application.WorksheetFunction.Sum(Sheets(z).Range("i4:i35"))

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

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答