VBA Next循环同时

时间:2015-04-22 13:00:03

标签: vba excel-vba excel

我需要同时拥有Next tab_nameNext j。有没有办法做到这一点?

tab_names = Array("11EB", "11WB", "12EB", "12WB", "13EB", "13WB", "14EB", "14WB", "15NB", "15SB", "16NB", "16SB", "17EB", "17WB", "18EB", "18WB", "19NB", "19SB", "20NB", "20SB", "21NB", "21SB", "22NB", "22SB", "23NB", "23SB", "24NB", "24SB", "25NB", "25SB", "26NB", "26SB", "27EB", "27WB", "28EB", "28WB", "29EB", "29WB", "30EB", "30WB", "31NB", "31SB", "32NB", "32SB", "33EB", "33WB", "34EB", "34WB", "35NB", "35SB", "36NB", "36SB", "37EB", "37WB", "38NB", "38SB", "39NB", "39SB", "40EB", "40WB", "41EB", "41WB", "A12NB", "A12SB", "M11NB", "M11SB", "M25NB", "M25SB", "A120EB", "A120WB", "A120AEB", "A120AWB")
   For i = 9 To 24
    For Each indiv_tab In tab_names
     For j = 3 To 291 Step 4

        Sheets("Front Page").Cells(2, 2) = Cells(i, 1)

        Cells(i, j) = Sheets(indiv_tab).Cells(2993, 9)
        Cells(i, j + 1) = Sheets(indiv_tab).Cells(2993, 22)
        Cells(i, j + 2) = Sheets(indiv_tab).Cells(2993, 35)
        Cells(i, j + 3) = Sheets(indiv_tab).Cells(2993, 48)
     Next j
   Next
 Next i

1 个答案:

答案 0 :(得分:1)

使用索引到达数组的元素。我假设你想用内部for循环的每个循环增加索引。

tab_names = Array("11EB", "11WB", "12EB", "12WB", "13EB", "13WB", "14EB", "14WB", "15NB", "15SB", "16NB", "16SB", "17EB", "17WB", "18EB", "18WB", "19NB", "19SB", "20NB", "20SB", "21NB", "21SB", "22NB", "22SB", "23NB", "23SB", "24NB", "24SB", "25NB", "25SB", "26NB", "26SB", "27EB", "27WB", "28EB", "28WB", "29EB", "29WB", "30EB", "30WB", "31NB", "31SB", "32NB", "32SB", "33EB", "33WB", "34EB", "34WB", "35NB", "35SB", "36NB", "36SB", "37EB", "37WB", "38NB", "38SB", "39NB", "39SB", "40EB", "40WB", "41EB", "41WB", "A12NB", "A12SB", "M11NB", "M11SB", "M25NB", "M25SB", "A120EB", "A120WB", "A120AEB", "A120AWB")
   For i = 9 To 24
     For j = 3 To 291 Step 4

        Sheets("Front Page").Cells(2, 2) = Cells(i, 1)

        Cells(i, j) = Sheets(tab_names((j-3)/4)).Cells(2993, 9)
        Cells(i, j + 1) = Sheets(tab_names((j-3)/4)).Cells(2993, 22)
        Cells(i, j + 2) = Sheets(tab_names((j-3)/4)).Cells(2993, 35)
        Cells(i, j + 3) = Sheets(tab_names((j-3)/4)).Cells(2993, 48)
     Next j
 Next i