|
Sub 提取a()
Dim sht As Worksheet, hb_sht As Worksheet, rg As Range, n As Integer
Dim add
n = 1
Application.ScreenUpdating = False
On Error Resume Next
Set hb_sht = Sheets("合并含a")
For Each sht In Sheets
If sht.Name <> "合并含a" Then
Set rg = sht.Range("A:A").Find("a", , , xlWhole)
If Not rg Is Nothing Then
add = rg.Address
Do
rg.EntireRow.Resize(3).Copy hb_sht.Range("A" & n)
n = n + 4
Set rg = sht.Range("A:A").FindNext(rg)
Loop Until rg.Address = add
End If
End If
Next
On Error GoTo 0
Application.ScreenUpdating = True
End Sub
可以在这个代码上改
本帖最后由 bb75308973 于 2012-3-22 17:48 编辑
这个代码好熟悉
这个附件里的内容好熟悉
朋友,好像这是第三次帮你喽
只要改动一点点就好了
这单元格复制过去会显示为0
想要0显示为空可以写代码的不过这里不写了
你只要用查找替换功能查找0的单元格替换为空就好了
- Sub 提取a()
- Dim sht As Worksheet, hb_sht As Worksheet, rg As Range, n As Integer
- Dim add
- n = 1
- Application.ScreenUpdating = False
- On Error Resume Next
- Set hb_sht = Sheets("提取时间为3月19日") '这里改了
- For Each sht In Sheets
- If sht.Name <> "提取时间为3月19日" Then '这里改
- Set rg = sht.Range("A:A").Find("3-19", , , xlPart) '这里改
- If Not rg Is Nothing Then
- add = rg.Address
- Do
- rg.Offset(-1).EntireRow.Resize(4).Copy hb_sht.Range("A" & n) '这里改
- n = n + 5
- Set rg = sht.Range("A:A").FindNext(rg)
- Loop Until rg.Address = add
- End If
- End If
- Next
- On Error GoTo 0
- Application.ScreenUpdating = True
- End Sub
复制代码
|
|