如何通过循环/计数器VBA向下移动2行而不是1行

时间:2018-04-09 21:00:23

标签: excel vba loops counter rows

我有下面的vba,允许我在每个循环下降1行。但是我想让它下降2行而不是1行。我该怎么做呢?

Sub Languages()

 Range("L2").Select
    ActiveCell.Range("K1:L1").Select


    For counter = 2 To 6
        ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.ApplyChartTemplate ( _
            "C:\Users\arboari\AppData\Roaming\Microsoft\Templates\Charts\1Language.crtx")
        ActiveChart.SetSourceData Source:=Range("'Master Sheet'!$B$" & counter & ":$F$" & counter)
        ActiveChart.Location Where:=xlLocationAsObject, Name:="Charts"
        With ActiveChart
            .HasTitle = False
            .Axes(xlCategory).Select
            .FullSeriesCollection(1).XValues = "='Master Sheet'!$B$:$B$3"
            .Parent.Top = 50
            .Parent.Left = c * 130
        End With
        Sheets("Master Sheet").Select
        ActiveCell.Offset(1, 0).Range("A1:I1").Select

        c = c + 3
    Next counter

End Sub

谢谢!

2 个答案:

答案 0 :(得分:1)

Sub Languages()

 Range("L2").Select
    ActiveCell.Range("K1:L1").Select


    For counter = 2 To 6 step 2 'loop every two rows
        ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
        ActiveChart.ApplyChartTemplate ( _
            "C:\Users\arboari\AppData\Roaming\Microsoft\Templates\Charts\1Language.crtx")
        ActiveChart.SetSourceData Source:=Range("'Master Sheet'!$B$" & counter & ":$F$" & counter)
        ActiveChart.Location Where:=xlLocationAsObject, Name:="Charts"
        With ActiveChart
            .HasTitle = False
            .Axes(xlCategory).Select
            .FullSeriesCollection(1).XValues = "='Master Sheet'!$B$:$B$3"
            .Parent.Top = 50
            .Parent.Left = c * 130
        End With
        Sheets("Master Sheet").Select
        ActiveCell.Offset(1, 0).Range("A1:I1").Select

        c = c + 3
    Next counter

End Sub

答案 1 :(得分:1)

只需在Step 2 - >之后添加For counter = 2 To 6即可For counter = 2 To 6 Step 2

这将使用2,然后使用下一个循环第二步,4,然后再使用6

Step here

的更多信息