Sub yyy()
Dim rng As Range, myRng As Range
a = Sheet2.Range("B65536").End(xlUp).Row
Set myRng = Sheet1.Range("A1:D6")
For Each rng In myRng
If rng.Interior.ColorIndex = 6 Then
rng.Copy
Sheet2.Cells(a + 1, 1).PasteSpecial
a = a + 1
Calculate
End If
Next
End Sub
FOR EACH 做循环的话是先行后列的进行循环
试试这个代码
Sub CC()
K = 2
For I = 1 To 4
For J = 1 To 5
If Cells(J, I).Interior.ColorIndex = 6 Then
Sheet3.Cells(K, 1) = Cells(J, I)
K = K + 1
End If
Next
Next
Sub yyy2()
Dim myRng As Range
a = Sheet2.Range("B65536").End(xlUp).Row
Set myRng = Sheet1.Range("A1:D6")
Dim x As Integer
Dim y As Integer
For x = 1 To 4
For y = 1 To 5
If Cells(y, x).Interior.ColorIndex = 6 Then
Cells(y, x).Copy
Sheet2.Cells(a + 1, 1).PasteSpecial
a = a + 1
Calculate
End If
Next y, x
End Sub