ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 这类代码能套用循环语句解决吗?麻烦帮写下

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-9-21 14:32 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 ken1991518 于 2017-9-21 15:07 编辑

类似下面代码能用循环语句套用吗?不一样的只是红色字体部分,假设有100个人,如果避免把这段过程复制100次会出现vba错误提示过程太过大?麻烦写下出来,自己小白一个不太懂啊,谢了!   

代码:

    Windows("123.xlsm").Activate
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$K$1000").AutoFilter Field:=11, Criteria1:="张三"
    Range("J1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Selection.Copy
    Windows("数据-张三.xlsx").Activate
    Range("A1").Select
    ActiveSheet.Paste

    Windows("123.xlsm").Activate
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$K$1000").AutoFilter Field:=11, Criteria1:="李四"
    Range("J1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Selection.Copy
    Windows("数据-李四.xlsx").Activate
    Range("A1").Select
    ActiveSheet.Paste


    Windows("123.xlsm").Activate
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$K$1000").AutoFilter Field:=11, Criteria1:="王五"
    Range("J1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Selection.Copy
    Windows("数据-王五.xlsx").Activate
    Range("A1").Select
    ActiveSheet.Paste

如何写循环语句.rar

46.69 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2017-9-21 14:44 | 显示全部楼层
能啊           闷闷闷闷闷闷闷

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-9-21 14:48 | 显示全部楼层
本帖最后由 ken1991518 于 2017-9-21 14:50 编辑
jiangxiaoyun 发表于 2017-9-21 14:44
能啊           闷闷闷闷闷闷闷

能写给我看看吗,谢了兄弟

TA的精华主题

TA的得分主题

发表于 2017-9-21 14:51 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-9-21 14:54 | 显示全部楼层
uynayna 发表于 2017-9-21 14:51
赋值到数组里面,循环。

能写出来给我看看吗,我小白一个啊,谢了

TA的精华主题

TA的得分主题

发表于 2017-9-21 15:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
要养成上付附件的好习惯。有附件,写代码的人要少走很多弯路的。

TA的精华主题

TA的得分主题

发表于 2017-9-21 15:08 | 显示全部楼层
  1.     Dim vName As Variant, nName As Integer
  2.     Dim wSH As Worksheet
  3.    
  4.     vName = Split("张三,李四,王五", ",")
  5.     With Windows("123.xlsm").ActiveSheet
  6.         For nName = 0 To UBound(vName)
  7.             .AutoFilter
  8.             .Range("$A$1:$K$1000").AutoFilter Field:=11, Criteria1:=vName(nName)
  9.             With .Range("J1")
  10.                 .Resize(.End(xlDown).Row, .End(xlToLeft).comlum - .Column + 1).Copy
  11.             End With
  12.             Windows("数据-" & vName(nName) & ".xlsx").Activate
  13.             Range("A1").Select
  14.             ActiveSheet.Paste
  15.         Next
  16.     End With
复制代码

TA的精华主题

TA的得分主题

发表于 2017-9-21 15:09 | 显示全部楼层
    Dim vName As Variant, nName As Integer
    Dim wSH As Worksheet
   
    vName = Split("张三,李四,王五", ",")
    With Windows("123.xlsm").ActiveSheet
        For nName = 0 To UBound(vName)
            .AutoFilter
            .Range("$A$1:$K$1000").AutoFilter Field:=11, Criteria1:=vName(nName)
            With .Range("J1")
                .Resize(.End(xlDown).Row, .End(xlToLeft).comlum - .Column + 1).Copy
            End With
            Windows("数据-" & vName(nName) & ".xlsx").Activate
            Range("A1").Select
            ActiveSheet.Paste
        Next
    End With

TA的精华主题

TA的得分主题

发表于 2017-9-21 15:10 | 显示全部楼层
的确,有附件比较方便点,否则,回复代码都是需要审核,比较麻烦

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-9-21 15:12 | 显示全部楼层
microyip 发表于 2017-9-21 15:10
的确,有附件比较方便点,否则,回复代码都是需要审核,比较麻烦

不好意思,已上传了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-25 14:58 , Processed in 0.041119 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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