2016-01-12 59 views
0

我遇到了雙循環交替格式化我的行的函數的問題。嵌套如果語句轉換爲雙循環

我知道我可以通過條件格式對範圍腳本執行此操作,但是由於我學習越來越多地使用VBA,我認爲嘗試使用雙循環會很好。

我沒能進一步得到。

Sub AlternateRowColor2() 
Dim lastRow As Long 

lastRow = Range("A1").End(xlDown).Row 

For Each Cell In Range("A1:A" & lastRow) 
    If Cell.Row Mod 2 = 1 Then 
     Cell.Interior.ColorIndex = 43 
    remove 
    End If 
Next Cell 

End Sub 

我可以去定義循環,但迷失在for功能下一

Sub AlternateRowColors() 
Dim I As Integer 
Dim P As Integer 
Dim lastRow As Long 

For I = 1 To 2 
For P = 1 To 1 
lastRow = Range(P).End(xlDown).Row 
For Each Column In Range(I, lastRow) 

回答

0

使用我認爲這可能是你在找什麼。你需要明確地增加for循環。但是你的問題有點不清楚

Sub AlternateRowColors() 
    Dim I As Integer 
    Dim P As Integer 
    Dim lastRow As Long 

    For I = 1 To 2 
     For P = 1 To 1 
      lastRow = Range(P).End(xlDown).Row 
      For Each Column In Range(I, lastRow) 
     Next P 
    Next I 
+0

我可以繼續使用這個代碼的每個單元格嗎? –

+0

@AsimAhmed號由於您沒有使用For Each循環。您需要使用嵌套for循環中的索引來獲取特定的範圍。 – Adjit

1

你可以使用插入表函數來爲行「着色」。它實際上更多...

Sub InsertTable() 
    ' 
    ' InsertTable 
    ' 
    ' 
     Range("A1:C7").Select 
     ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$C$7"), , xlYes).Name = _ 
      "Table1" 
     Range("Table1[#All]").Select 
    End Sub 

的結果:

InsertTable

所以循環:

Sub Looping() 
    ' Looping Makro 
     Dim mySheet As Worksheet 
     Dim myCell As Range 
     Dim X, Y, X_Off, Y_Off 

     X_Off = 5 
     Y_Off = 3 

     Set mySheet = Application.ActiveSheet 

     For X = 1 To 10 

      Set myCell = mySheet.Cells(X + X_Off + 1, Y_Off + 1) 
      myCell.Interior.ColorIndex = 23 
      myCell.FormulaR1C1 = X 

      Set myCell = mySheet.Cells(X_Off + 1, X + Y_Off + 1) 
               '^ We use here X too 
      myCell.Interior.ColorIndex = 23 
      myCell.FormulaR1C1 = X 

      For Y = 1 To 10 

       Set myCell = mySheet.Cells(X + X_Off + 1, Y + Y_Off + 1) 
       myCell.FormulaR1C1 = X * Y 

       If ((X Mod 2) = 0) Then 
        myCell.Interior.ColorIndex = 43 
       End If 

      Next Y 
     Next X 

    End Sub 

結果:

Loops]

所以最後你可以看看那些site1site2呢!

+0

感謝您提供替代解決方案。我期待通過雙循環和嵌套函數來提高我的技能,這就是爲什麼我嘗試這種方法 –