在vba中循环两次?

时间:2016-09-21 07:24:49

标签: excel vba excel-vba excel-formula

我在下面表现得很好,

  Src   Base  June  July
  Eng   STP   10    20
  Sve   STP   20    30
  GMO   SEZ   30    10
  Eng   STP   20    30
  Sve   SEZ   40    50

这里我想根据条件循环所有...        STP表中应加入STP,并在其中添加Eng字段        经济特区应与其各自的列一起落入经济特区页面

我无法在这里循环每个案例..

我的试验如下:

    With Worksheets("Mktg.Effort")
    For lrow = 2 To .Cells(.Rows.Count, "R").End(xlUp).Row
    Select Case CStr(Cells(lrow, "R").Value) 
    Case "STP"
     Worksheets("Mktg.Effort").Rows(lrow).Activate
     For lroww = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
     Select Case CStr(Cells(lroww, "A").Value)
     Case "engg"
         ' adding all eng cols 
         ' and this data should fall in STP sheet.

这里我正在考虑所有Eng字段,而不考虑基本(STP / SEZ)条件。 我想循环使用这两个条件 1.应检查STP / SEZ 2.应检查Eng / Sve / gmo 因此我必须自动化数据。

ENy请帮忙。我不知道在这里震惊。

预期产出:

     Src  Base  June  July
     Eng  STP   30    50    ' added all ENG into one row
     Sve  STP   20    30

1 个答案:

答案 0 :(得分:0)

而不是循环两次,你可以循环一次,然后检查下面的条件:

With Worksheets("Mktg.Effort")
    For lrow = 2 To .Cells(.Rows.Count, "R").End(xlUp).Row
    Select Case CStr(Cells(lrow, "R").Value)
    Case "STP"
        If CStr(Cells(lrow, "A").Value) = "Eng" Then
            ' adding all eng cols
            ' and this data should fall in STP sheet.
        ElseIf CStr(Cells(lrow, "A").Value) = "SVE" Then
            '....and so on