2013-10-15 52 views
1

我想在下面的代碼中給出一個範圍而不是偏移量。以下代碼將範圍(C5:F11)中的顏色複製到偏移i集,但我想指定範圍(如M5:P11)。我試着簡單地用範圍替換偏移量,但它不能正常工作。請幫助如何指定範圍而不是偏移量,excel VBA?

Sub MatchColors2() 

For Each myCellColor In Range("C5:F11") 
    myCellColor.Offset(0, 8).Interior.ColorIndex = myCellColor.Interior.ColorIndex 
Next 
End Sub 

感謝

回答

3

隨着您的要求,這也適用於與一個以上的區域,即,不連續的範圍的範圍:

Sub MatchColors2() 
Dim rngTo As Excel.Range 
Dim rngFrom As Excel.Range 
Dim i As Long 
Dim j As Long 

Set rngTo = ActiveSheet.Range("C5:D11,F5:G11") 
Set rngFrom = ActiveSheet.Range("I5:J11,L5:M11") 

For i = 1 To rngFrom.Areas.Count 
    For j = 1 To rngFrom.Areas(i).Cells.Count 
     rngTo.Areas(i).Cells(j).Interior.ColorIndex = rngFrom.Areas(i).Cells(j).Interior.ColorIndex 
    Next j 
Next i 
End Sub 
+0

+ 1捱打! ;( –

+0

謝謝,它的工作完美 –

+0

@SiddharthRout,這是一個罕見的事件! –