ExcelHome技术论坛

 找回密码
 免费注册
QQ登录 只需一步,快速开始
新浪微博登陆 只需一步, 快速开始
   
高效办公必会的Office99uu优优 永久免费,网表让Excel秒变数据库 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! 国内首部Excel函数公式学习大典 职场充电黑科技, Office微99uu优优 免费下载Excel行业应用视频
300集Office 2010微99uu优优 Tableau-数据可视化工具 突破Excel限制,用活字格提高效率 12门Excel免费公开课任你学
你的Excel 201099uu优优学习锦囊 欲罢不能, 过目难忘的 Office 新界面 免费的Excel考勤计算系统
查看: 303|回复: 18
打印 上一主题 下一主题

[求助] 批量删除指定内容。 (求助)

[复制链接]
TA的精华主题TA的得分主题
跳转到指定楼层
1
发表于 2017-8-13 21:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
工作需要。 要弄很多这样的工作簿,所以想一打开工作簿一按快捷键就可以自动删除想要删除的行。  位置是不定的不然我都可以录制宏删除了。


仓库管理.rar (10.82 KB, 下载次数: 29)

附件内容:


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 有用有用 无用无用 分享到新浪微博
TA的精华主题TA的得分主题
2
发表于 2017-8-13 21:58 | 只看该作者
这个好整,把要删除的料号放在一张表里,要处理的文件放在文件夹里,遍历处理就是了
TA的精华主题TA的得分主题
3
发表于 2017-8-13 22:03 | 只看该作者
  • Sub test()
  •   Dim r%, i%
  •   Dim arr, brr
  •   Dim d As Object
  •   Dim mypath$, myname$
  •   Dim rng As Range
  •   Set d = CreateObject("scripting.dictionary")
  •   mypath = ThisWorkbook.Path & ""
  •   If Dir(mypath & "指定删除的行.txt") = "" Then
  •     MsgBox "指定删除的行.txt不存在!"
  •     Exit Sub
  •   End If
  •   Open mypath & "指定删除的行.txt" For Input As #1
  •   arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
  •   Close #1
  •   For i = 0 To UBound(arr)
  •     d(Trim(arr(i))) = ""
  •   Next
  •   With Worksheets("sheet1")
  •     r = .Cells(.Rows.Count, 1).End(xlUp).Row
  •     arr = .Range("a1:a" & r)
  •     For i = 3 To UBound(arr)
  •       If d.exists(CStr(arr(i, 1))) Then
  •         Debug.Print i
  •         If rng Is Nothing Then
  •           Set rng = .Rows(i)
  •         Else
  •           Set rng = Union(rng, .Rows(i))
  •         End If
  •       End If
  •     Next
  •     If Not rng Is Nothing Then
  •       rng.Delete
  •     End If
  •   End With
  • End Sub
  • 复制代码

    评分

    参与人数 1鲜花 +2 收起 理由
    weiqigreen + 2 太强大了
    查看全部评分
    TA的精华主题TA的得分主题
    4
    发表于 2017-8-13 22:04 来自手机 | 只看该作者
    TA的精华主题TA的得分主题
    5
    发表于 2017-8-13 22:05 | 只看该作者
    指定删除的行里不要存放其他内容!详见附件。
    仓库管理 (3).rar 18.88 KB, 下载次数: 17
    TA的精华主题TA的得分主题
    6
    发表于 2017-8-13 22:07 | 只看该作者
    Option Explicit

    Sub test()
      Dim mark, i, dic, t
      mark = Split("SW10K97461,66411203400670,66411202000760,64451203400040,68411203400020,60421202000010,66411203400640", ",")
      Set dic = CreateObject("scripting.dictionary")
      For i = 0 To UBound(mark)
        If Not dic.exists(mark(i)) Then dic.Add mark(i), 1
      Next
      For i = [a65536].End(xlUp).Row To 3 Step -1
        t = CStr(Cells(i, 1)): If dic.exists(t) Then Rows(i).Delete
      Next
    End Sub
    TA的精华主题TA的得分主题
    7
     楼主| 发表于 2017-8-13 22:22 | 只看该作者 |楼主
    chxw68 发表于 2017-8-13 22:05
    指定删除的行里不要存放其他内容!详见附件。

    非常好。 谢谢了。非常感谢
    TA的精华主题TA的得分主题
    8
     楼主| 发表于 2017-8-13 22:25 | 只看该作者 |楼主
    TA的精华主题TA的得分主题
    9
     楼主| 发表于 2017-8-13 22:26 | 只看该作者 |楼主
    TA的精华主题TA的得分主题
    10
     楼主| 发表于 2017-8-14 11:17 来自手机 | 只看该作者 |楼主
    cvvb0606 发表于 2017-8-13 22:07
    Option Explicit

    Sub test()

    可以放100个吗?
    您需要登录后才可以回帖 登录 | 免费注册 新浪微博登陆
    本版积分规则
    关闭

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

    关注官方微信,每天坐享新鲜教程
    手机版|关于我们|联系我们|ExcelHome    GMT+8, 2017-11-18 23:31 , Processed in 0.195155 second(s), 23 queries , Gzip On, MemCache On.
    Powered by Discuz! X3.3 © 2001-2017 Wooffice Inc.
        沪公网安备 31011702000001号 沪ICP备11019229号 本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师
    快速回复 返回顶部 返回列表
    99uu优优