2016-09-21 80 views
0

我有練成像下面,在vba中循環兩次?

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板材與另外在其工程領域的一起倒下 經濟特區應落在特區各自的列

我無法在這裏每一種情況下環沿片..

我的審判是像下面..

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. 

在這裏,我不考慮基礎(STP/SEZ)條件,所有Eng字段。 我想與雙方的條件 1.循環應該檢查是否STP/SEZ 2.應該檢查是否主機/全部/ GMO ,並相應地,我必須自動化數據。

請幫助。我不知道這裏是什麼。

預期輸出:

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

這是一種很難理解你想要什麼。你在問如何一次檢查兩個條件?只要使用'如果條件1和條件2然後'。這不會被認爲是「循環兩次」,因爲......呃,你只是循環一次。除非你想添加更多的案例,否則使用'Select Case'似乎有點矯枉過正。哦,而且字符串比較大多是區分大小寫的。 – arcadeprecinct

+1

的一些你的手機通話漏點,所以請參考活動工作表,而不是你帶塊表 –

+0

@arcadeprecinct這裏我想所有STP行一個循環,在這個循環中,我需要再次檢查的情況下,如果這是eng/sve/gmo如果滿足這個條件,那麼我需要將該行作爲活動行。 可以請你檢查我編輯的問題,預計產量 –

回答

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 
+1

幫助我謝謝 –