VBA按索引号循环工作表

时间:2016-05-18 12:40:07

标签: vba excel-vba excel

如何使用工作表索引编号

更改特定工作表中的单元格

例如:

Worksheets(1).Range("A1").Value = "Hello"

我想为1到12的工作表

执行此操作

3 个答案:

答案 0 :(得分:2)

使用简单的for循环:

For i = 1 To 12
    Worksheets(i).Range("A1").Value = "Hello"
Next

虽然你可能想先检查一下表格是否存在......

答案 1 :(得分:1)

你可以在没有循环的情况下做到这一点! :

Sub ALLpoi()
    Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
    Range("A1").Select
    Selection.Value = "Hello"
End Sub

这是使用Selection是好的一种情况。在这种情况下,Selection可以跨越不同工作表上的单元格(与范围不同)

答案 2 :(得分:1)

有两种选择(从我的到期)来做你要求的:

1)使用循环(几种变体)

Sub test1()
    Dim i%
    For i = 1 To 12
        Worksheets(i).[A1].Value2 = "Hello"
    Next
End sub

Sub test2()
    Dim i%: i = 1
    While i < 13
         Worksheets(i).[A1].Value2 = "Hello": i = i + 1
    Wend
End Sub

Sub test3()
    Dim i%: i = 1
    Do While i < 13
        Worksheets(i).[A1].Value2 = "Hello": i = i + 1
    Loop
End Sub

Sub test4()
    Dim i%: i = 1
    Do Until i = 13
        Worksheets(i).[A1].Value2 = "Hello": i = i + 1
    Loop
End Sub

Sub test5()
    Dim i%: i = 1
    Do
        Worksheets(i).[A1].Value2 = "Hello": i = i + 1
    Loop Until i = 13
End Sub

2)没有循环

Sub test()
    Worksheets(Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)).Select
    [A1].Activate: ActiveCell.Value2 = "Hello"
End Sub