Excel精英培训网

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

[已解决]求助生成清单的宏, 急求, 有图 有附件,请高手帮忙

[复制链接]
发表于 2013-3-1 13:55 | 显示全部楼层 |阅读模式
求助生成清单的宏, 急求, 有图 有附件,请高手帮忙

最佳答案
2013-3-1 16:38
我这简易一点
Sub 生成图纸目录()
    D = InputBox("请输入日期", "日期输入", "2013/3/8")
    ARR = Sheets("28FEB13 ").Range("C3:S" & Sheets("28FEB13 ").Range("C65536").End(3).Row)
    ReDim BRR(1 To UBound(ARR), 1 To 9)
    DT = DateValue(D)
    For I = 1 To UBound(ARR)
        If ARR(I, 17) = DT Then
            T = T + 1
            BRR(T, 1) = T
            BRR(T, 3) = ARR(I, 4)
            BRR(T, 5) = "A3"
            BRR(T, 6) = ARR(I, 1)
            BRR(T, 7) = ARR(I, 2)
            BRR(T, 8) = ARR(I, 17)
            BRR(T, 9) = ARR(I, 16)
        End If
    Next
    Sheets("图纸目录").Range("A5:I65536").ClearContents
    If T = "" Then MsgBox "没有该日期图纸!": Exit Sub
    Sheets("图纸目录").Range("A5").Resize(T, 9) = BRR
End Sub

28FEB13.jpg

图纸目录

图纸目录

Member list.zip

184.96 KB, 下载次数: 8

 楼主| 发表于 2013-3-1 14:43 | 显示全部楼层
我自己用一个个循环实在太慢了~~~~~~~~~~~~~~~~~~
Sub 生成图纸目录()

Dim b As Integer

For b = 3 To Sheets("28FEB13").Range("c65536").End(xlUp).Row


If Sheets("28FEB13").Range("s" & b).Value = "2013/3/8" Then


Sheets("图纸目录").Range("c65536").End(xlUp).Offset(1, 0) = Sheets("28FEB13").Range("f" & b)



End If


Next b
回复

使用道具 举报

 楼主| 发表于 2013-3-1 14:44 | 显示全部楼层
我只写了一小段
这一个条件 就慢死了~~~

再加几个条件 岂不是更慢
回复

使用道具 举报

 楼主| 发表于 2013-3-1 14:57 | 显示全部楼层
有人帮下忙吗????
回复

使用道具 举报

发表于 2013-3-1 15:19 | 显示全部楼层
kidd1217 发表于 2013-3-1 14:57
有人帮下忙吗????

设置一个INPUBOX  输入日期,如果日期等于 sheets(28FEB13 ) 的S列的日期,
要在图纸目录显示所有符合条件的吗?
回复

使用道具 举报

 楼主| 发表于 2013-3-1 15:34 | 显示全部楼层
那么的帅 发表于 2013-3-1 15:19
设置一个INPUBOX  输入日期,如果日期等于 sheets(28FEB13 ) 的S列的日期,
要在图纸目录显示所有符合条 ...

是的
     麻烦您了
回复

使用道具 举报

发表于 2013-3-1 15:55 | 显示全部楼层
kidd1217 发表于 2013-3-1 15:34
是的
     麻烦您了

点击  提取数据 按钮,出现 窗口,按照 上方的说明操作即可。

296070-VBA-窗体-日期控件-根据日期条件提取数据.rar (150.68 KB, 下载次数: 14)
回复

使用道具 举报

发表于 2013-3-1 16:38 | 显示全部楼层    本楼为最佳答案   
我这简易一点
Sub 生成图纸目录()
    D = InputBox("请输入日期", "日期输入", "2013/3/8")
    ARR = Sheets("28FEB13 ").Range("C3:S" & Sheets("28FEB13 ").Range("C65536").End(3).Row)
    ReDim BRR(1 To UBound(ARR), 1 To 9)
    DT = DateValue(D)
    For I = 1 To UBound(ARR)
        If ARR(I, 17) = DT Then
            T = T + 1
            BRR(T, 1) = T
            BRR(T, 3) = ARR(I, 4)
            BRR(T, 5) = "A3"
            BRR(T, 6) = ARR(I, 1)
            BRR(T, 7) = ARR(I, 2)
            BRR(T, 8) = ARR(I, 17)
            BRR(T, 9) = ARR(I, 16)
        End If
    Next
    Sheets("图纸目录").Range("A5:I65536").ClearContents
    If T = "" Then MsgBox "没有该日期图纸!": Exit Sub
    Sheets("图纸目录").Range("A5").Resize(T, 9) = BRR
End Sub

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 06:07 , Processed in 0.381439 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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