ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: tczone

急求帮忙!auto_open+二级循环,恳请各位老师帮忙!非常感谢!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-8-30 14:21 | 显示全部楼层
tczone 发表于 2013-8-30 14:19
您好!在源代码指向的是test--的文件哦,请求老师再帮忙分析一下!谢谢了!

那你就只要修改 "Sub 删除指定内容()" 代码就行了

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-8-30 14:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
mineshine 发表于 2013-8-30 14:21
那你就只要修改 "Sub 删除指定内容()" 代码就行了

不好意思啊,老师,我刚学不久,请明示!谢谢您!

TA的精华主题

TA的得分主题

发表于 2013-8-30 14:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
tczone 发表于 2013-8-30 14:24
不好意思啊,老师,我刚学不久,请明示!谢谢您!

4楼代码有明示了
最后一段代码

  1. Sub 删除指定内容()
  2. R1 = Cells(Rows.Count, 2).End(xlUp).Row
  3. AR = Cells(1, 2).Resize(R1)
  4. For a = R1 To 5 Step -1
  5.     If AR(a, 1) <> n Then
  6.         If S1 Is Nothing Then
  7.             Set S1 = Rows(a).EntireRow
  8.             S1.Delete
  9.         Else
  10.             Set S1 = Union(S1, Rows(a).EntireRow)
  11.         End If
  12.     End If
  13. Next a
  14. [a1].Select
  15. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-8-30 14:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
mineshine 发表于 2013-8-30 14:34
4楼代码有明示了
最后一段代码

老师,您好!已经修改为
Dim AR, R1&, a&, S1 As Range, n As String
Sub auto_open()
  
    Dim mCaidan As Menu
    MenuBars(xlWorksheet).Reset
    Set mCaidan = MenuBars(xlWorksheet).Menus.Add("system")
    With mCaidan.MenuItems
        .Add "循环工作表", "循环工作表"
    End With
End Sub
Sub 循环工作表()
On Error Resume Next
n$ = ActiveWorkbook.Name
n = Sheets("客户名称").[a1].Value
For Each sh In Workbooks("n$").Sheets
    If sh.Name <> "客户名称" Then
    sh.Activate
    Call 删除指定内容
End If
Next
End Sub

Sub 删除指定内容()
R1 = Cells(Rows.Count, 2).End(xlUp).Row
AR = Cells(1, 2).Resize(R1)
For a = R1 To 5 Step -1
    If AR(a, 1) <> n Then
        If S1 Is Nothing Then
            Set S1 = Rows(a).EntireRow
            S1.Delete
        Else
            Set S1 = Union(S1, Rows(a).EntireRow)
        End If
    End If
Next a
[a1].Select
End Sub
但是还是没有成功~~麻烦您了!

TA的精华主题

TA的得分主题

发表于 2013-8-30 15:00 | 显示全部楼层
tczone 发表于 2013-8-30 14:48
老师,您好!已经修改为
Dim AR, R1&, a&, S1 As Range, n As String
Sub auto_open()

我这里一定要指定工作簿
没有指定就是错的

真的旡能为力,抱歉了,希望有高手可以幇忙解決。

TA的精华主题

TA的得分主题

发表于 2013-8-30 15:04 | 显示全部楼层
  1. Dim AR, R1&, a&, S1 As Range, n As String, sh As Worksheet
  2. Sub auto_open()
  3.   
  4.     Dim mCaidan As Menu
  5.     MenuBars(xlWorksheet).Reset
  6.     Set mCaidan = MenuBars(xlWorksheet).Menus.Add("system")
  7.     With mCaidan.MenuItems
  8.         .Add "循环工作表", "循环工作表"
  9.     End With
  10. End Sub
  11. Sub 循环工作表()
  12. On Error Resume Next
  13. n$ = ActiveWorkbook.Name
  14. n = Sheets("客户名称").[a1].Value
  15. For Each sh In Workbooks("n$").Sheets
  16.     If sh.Name <> "客户名称" Then
  17.     sh.Activate
  18.     Call 删除指定内容(sh)
  19. End If
  20. Next
  21. End Sub

  22. Sub 删除指定内容(sh)
  23. R1 = sh.Cells(sh.Rows.Count, 2).End(xlUp).Row
  24.    AR = sh.Cells(1, 2).Resize(R1)
  25.    For a = 5 To R1
  26.    If AR(a, 1) <> n Then
  27.    If S1 Is Nothing Then
  28.    Set S1 = sh.Rows(a).EntireRow
  29.   Else
  30.    Set S1 = Union(S1, sh.Rows(a).EntireRow)
  31.    End If
  32.    End If
  33.    Next
  34.    If Not S1 Is Nothing Then S1.Delete: Set S1 = Nothing
  35. sh.[a1].Select
  36. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-8-30 15:41 | 显示全部楼层
mineshine 发表于 2013-8-30 15:00
我这里一定要指定工作簿
没有指定就是错的

非常感谢mineshine 老师!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-8-30 16:29 | 显示全部楼层
蓝桥玄霜 发表于 2013-8-30 15:04

谢谢!蓝版的帮忙!老师,我已经按照您的代码测试过了,还是没能达成目地,恳请老师再帮帮忙!

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-9-2 11:17 | 显示全部楼层
急求帮助!请各位老师帮忙!附件在3楼!非常感谢了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 03:51 , Processed in 0.026416 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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