Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5725|回复: 2

[已解决]求个代码把更新时间为3-19的提出来,有人会吗?

[复制链接]
发表于 2012-3-22 15:38 | 显示全部楼层 |阅读模式
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
可以在这个代码上改
最佳答案
2012-3-22 17:26
本帖最后由 bb75308973 于 2012-3-22 17:48 编辑

这个代码好熟悉
这个附件里的内容好熟悉
朋友,好像这是第三次帮你喽
只要改动一点点就好了
这单元格复制过去会显示为0
想要0显示为空可以写代码的不过这里不写了
你只要用查找替换功能查找0的单元格替换为空就好了
Ashampoo_Snap_2012.03.22_17h47m56s_002_.jpg
  1. Sub 提取a()
  2. Dim sht As Worksheet, hb_sht As Worksheet, rg As Range, n As Integer
  3. Dim add
  4. n = 1
  5. Application.ScreenUpdating = False
  6. On Error Resume Next
  7. Set hb_sht = Sheets("提取时间为3月19日") '这里改了
  8. For Each sht In Sheets
  9.     If sht.Name <> "提取时间为3月19日" Then '这里改
  10.         Set rg = sht.Range("A:A").Find("3-19", , , xlPart) '这里改
  11.         If Not rg Is Nothing Then
  12.             add = rg.Address
  13.             Do
  14.             rg.Offset(-1).EntireRow.Resize(4).Copy hb_sht.Range("A" & n) '这里改
  15.             n = n + 5
  16.             Set rg = sht.Range("A:A").FindNext(rg)
  17.             Loop Until rg.Address = add
  18.         End If
  19.     End If
  20. Next
  21. On Error GoTo 0
  22. Application.ScreenUpdating = True
  23. End Sub
复制代码

111111.rar

29.3 KB, 下载次数: 10

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-3-22 17:26 | 显示全部楼层    本楼为最佳答案   
本帖最后由 bb75308973 于 2012-3-22 17:48 编辑

这个代码好熟悉
这个附件里的内容好熟悉
朋友,好像这是第三次帮你喽
只要改动一点点就好了
这单元格复制过去会显示为0
想要0显示为空可以写代码的不过这里不写了
你只要用查找替换功能查找0的单元格替换为空就好了
Ashampoo_Snap_2012.03.22_17h47m56s_002_.jpg
  1. Sub 提取a()
  2. Dim sht As Worksheet, hb_sht As Worksheet, rg As Range, n As Integer
  3. Dim add
  4. n = 1
  5. Application.ScreenUpdating = False
  6. On Error Resume Next
  7. Set hb_sht = Sheets("提取时间为3月19日") '这里改了
  8. For Each sht In Sheets
  9.     If sht.Name <> "提取时间为3月19日" Then '这里改
  10.         Set rg = sht.Range("A:A").Find("3-19", , , xlPart) '这里改
  11.         If Not rg Is Nothing Then
  12.             add = rg.Address
  13.             Do
  14.             rg.Offset(-1).EntireRow.Resize(4).Copy hb_sht.Range("A" & n) '这里改
  15.             n = n + 5
  16.             Set rg = sht.Range("A:A").FindNext(rg)
  17.             Loop Until rg.Address = add
  18.         End If
  19.     End If
  20. Next
  21. On Error GoTo 0
  22. Application.ScreenUpdating = True
  23. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-3-22 18:06 | 显示全部楼层
哈哈谢谢你啊。。。。老师  多次麻烦你。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-6-4 14:53 , Processed in 0.219835 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表