Excel精英培训网

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

[已解决]请大侠帮忙---急!

[复制链接]
发表于 2011-12-13 09:53 | 显示全部楼层 |阅读模式
哪位大侠能帮我改一下,我想要改成Sheet1-Sheet100同时运行这个宏,现在运行他只能对Sheet1进行比对。。。。。谢谢了!
Dim rng As Range
With Sheet1
For Each rng In Union(.Range("C6:C200"), .Range("C6:C200"))
  If Len(rng.Value) <> "追货" And rng.Value = "追货" Then MsgBox "帅哥有追货产品,请注意。。。。:)": Exit Sub
Next
End With
End Sub
最佳答案
2011-12-13 10:58
本帖最后由 mxg825 于 2011-12-13 11:05 编辑

  1. Private Sub Workbook_Open()
  2. Call MXG825
  3. End Sub

  4. Sub MXG825()
  5. Dim rng As Range
  6. Dim sht As Object
  7. Dim ZH%, TY%
  8. For Each sht In Sheets '循环全部工作表
  9. With sht
  10. For Each rng In .Range("C6:C" & .Range("C65536").End(xlUp).Row)
  11.     If InStr(rng.Text, "追货") > 0 Then
  12.        ZH = ZH + 1
  13.     ElseIf InStr(rng.Text, "严重拖延") > 0 Then
  14.        TY = TY + 1
  15.     End If
  16. Next
  17. End With
  18. Next
  19. MsgBox "帅哥有追货产品" & ZH & "单,严重拖延产品" & TY & "单,请注意。。。。:)"
  20. End Sub
复制代码
发表于 2011-12-13 10:27 | 显示全部楼层
  1. Sub MXG825()
  2. Dim rng As Range
  3. Dim sht As Object
  4. For Each sht In Sheets '循环全部工作表
  5. With sht
  6. For Each rng In .Range("C6:C" & .Range("C65536").End(xlUp).Row)
  7.   If InStr(rng.Text, "追货") > 0 Then MsgBox "帅哥有追货产品,请注意。。。。:)": Exit Sub
  8. Next
  9. End With
  10. Next
  11. End Sub
复制代码
你要用什么事件触发?
单个工作表。。还是循环 100个工作表?

回复

使用道具 举报

 楼主| 发表于 2011-12-13 10:44 | 显示全部楼层
只要打开工作薄就自动运行,对整个工作簿里的工作表进行对比然后提示。
回复

使用道具 举报

 楼主| 发表于 2011-12-13 10:50 | 显示全部楼层
Private Sub Workbook_Open()
Call Workbook_1
Call Workbook_2
End Sub

Private Sub Workbook_1()
Dim rng As Range
With Sheet1
For Each rng In Union(.Range("C6:C200"), .Range("C6:C200"))
  If Len(rng.Value) <> "追货" And rng.Value = "追货" Then MsgBox "帅哥有追货产品,请注意。。。。:)": Exit Sub
Next
End With
End Sub

Private Sub Workbook_2()
Dim rng As Range
With Sheet1
For Each rng In Union(.Range("C6:C200"), .Range("C6:C200"))
  If Len(rng.Value) <> "严重拖延" And rng.Value = "严重拖延" Then MsgBox "帅哥有严重拖延产品,请注意。。。。:)": Exit Sub
Next
End With
End Sub

非常感谢mxg825的帮助,我原来的请大侠帮我改一下。现在套你的只能对比一个如果有几个比对怎么改?
回复

使用道具 举报

发表于 2011-12-13 10:58 | 显示全部楼层    本楼为最佳答案   
本帖最后由 mxg825 于 2011-12-13 11:05 编辑

  1. Private Sub Workbook_Open()
  2. Call MXG825
  3. End Sub

  4. Sub MXG825()
  5. Dim rng As Range
  6. Dim sht As Object
  7. Dim ZH%, TY%
  8. For Each sht In Sheets '循环全部工作表
  9. With sht
  10. For Each rng In .Range("C6:C" & .Range("C65536").End(xlUp).Row)
  11.     If InStr(rng.Text, "追货") > 0 Then
  12.        ZH = ZH + 1
  13.     ElseIf InStr(rng.Text, "严重拖延") > 0 Then
  14.        TY = TY + 1
  15.     End If
  16. Next
  17. End With
  18. Next
  19. MsgBox "帅哥有追货产品" & ZH & "单,严重拖延产品" & TY & "单,请注意。。。。:)"
  20. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2011-12-13 11:02 | 显示全部楼层
mxg825 大侠,因为“追货”,“严重拖延”状态不是同时出现,我希望提示能分开提示。。。
回复

使用道具 举报

发表于 2011-12-13 11:05 | 显示全部楼层
试试 这个吧! 提示有多少单。。
回复

使用道具 举报

 楼主| 发表于 2011-12-13 11:40 | 显示全部楼层
非常谢谢mxg825 哥哥,效果很明显,功能很强大,交个朋友吧。258549193扣扣
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 22:46 , Processed in 0.273761 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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