ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 596|回复: 5

[已解决] 求助如何修改根据D3单位名称和H3性别提取相关信息。现单条件可提取,两个不可以。谢谢

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-6-4 16:34 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 qinhuan66 于 2019-6-4 19:31 编辑

求助现有一表可以单个条件提取数年,现需增加为符全两个条件,根据D3单位名称和H3性别来分别提取数据库相关信息Sub 附件4()
With Sheets("数据库")
Sheets(Array("附件4")).Select
   

    [B5:K500].Select
    Selection.ClearContents
     Range("B5").Select
    arr = Sheets("数据库").[a1].CurrentRegion
    W = 4 '
    With Sheets("附件4")
        For i = 2 To UBound(arr) '
'             If arr(i, 5) = Range("$D3") Then
             If arr(i, 5) = Range("$D3") Or arr(i, 3) = Range("$H3") Then
                j = j + 1
                .Cells(W + j, 2) = arr(i, 2)
                .Cells(W + j, 3) = arr(i, 3)
                .Cells(W + j, 4) = arr(i, 5)
                .Cells(W + j, 5) = arr(i, 4)
                .Cells(W + j, 6) = arr(i, 11)
                .Cells(W + j, 7) = arr(i, 8)
            End If
            If j = 10 Then '结束行
                j = 0: W = W + 10 '隔行开始
            End If
        Next
    End With
    End With
    Dim Target As Range
Set Target = Range("$B4")
End Sub

求助.rar

18.45 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2019-6-4 16:59 | 显示全部楼层
@qinhua66
  1. Sub test()
  2. With Sheets(2).[a2].CurrentRegion
  3.   .AutoFilter Field:=3, Criteria1:=Sheets(1).[h3]
  4.   .AutoFilter Field:=5, Criteria1:=Sheets(1).[d3]
  5.   .Range("b2:k" & Sheets(2).[b65536].End(3).Row).Copy
  6.   Sheets(1).[b5].PasteSpecial Paste:=xlPasteValues
  7.   .AutoFilter
  8. End With
  9. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-4 17:05 | 显示全部楼层

好的,收到非常感谢,如果中间有些列数据不需要的怎么办?谢谢

TA的精华主题

TA的得分主题

发表于 2019-6-4 17:07 | 显示全部楼层
那就不要用复制粘贴功能,先转入数组然后再输出到sheet1

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-4 17:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
在线等待....老师指点

TA的精华主题

TA的得分主题

发表于 2019-6-5 17:40 | 显示全部楼层
qinhuan66 发表于 2019-6-4 17:39
在线等待....老师指点
  1. Sub 附件4()
  2.     Dim brr(1 To 9999, 1 To 7)
  3.     arr = Sheets("数据库").[a1].CurrentRegion
  4.     For i = 2 To UBound(arr) '
  5.         If arr(i, 4) = [D3] And arr(i, 3) = [H3] Then
  6.              m = m + 1
  7.              brr(m, 1) = m
  8.              brr(m, 2) = arr(i, 2)
  9.              brr(m, 3) = arr(i, 3)
  10.              brr(m, 4) = arr(i, 5)
  11.              brr(m, 5) = arr(i, 4)
  12.              brr(m, 6) = arr(i, 11)
  13.              brr(m, 7) = arr(i, 8)
  14.         End If
  15.     Next
  16.     If m Then
  17.         Range("a5:h" & Rows.Count).ClearContents
  18.         [a5].Resize(m, 7) = brr
  19.     End If
  20. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-21 00:13 , Processed in 0.048631 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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