|
下面这段代码,是论坛A1233515提供, 功能是:将黄色高亮行之间的行提取到一个单独的工作表中,比如从第1个黄色行到第2个黄色行之间的行,第3个黄色行到第4个黄色行之间的行,第5个黄色行到第6个黄色行之间的行,以此类推,提取放到一个单独的工作表中。
代码 可以用,但在我的附件中有一个可用,另外一个不能用,不知道什么原因? 因为我这样的表有很多,所以需要请教高手
Sub fuzhi()
Dim arr, brr, rng As Range, i&, k&, m&, n&
Dim p&
i = Sheet1.UsedRange.Rows.Count
ReDim arr(1 To i / 2)
ReDim brr(1 To i / 2)
For Each rng In Sheet1.Range("a1:a" & i)
If rng.Interior.Color = RGB(255, 255, 0) Then
k = k + 1
If Int(k / 2) = k / 2 Then
m = m + 1
brr(m) = rng.Row
Else
n = n + 1
arr(n) = rng.Row
End If
End If
Next
Worksheets.Add after:=Sheets(1)
ActiveSheet.Name = "复制"
Sheet1.Range("1:1").Copy ActiveSheet.Range("a1")
For p = 1 To UBound(arr)
If arr(p) <> "" And brr(p) <> "" Then
Sheet1.Range(arr(p) & ":" & brr(p)).Copy ActiveSheet.Range("a" & Rows.Count).End(xlUp).Offset(1, 0)
End If
Next
End Sub
|
|