|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
- Sub 筛选() '子过程 筛选()
- Application.ScreenUpdating = False '关闭屏幕刷新
- Dim ob As OLEObject '定义局部变量 ob 为OLEObject
- yf = [h1] 'yf=[h1]
- If yf = "" Then MsgBox "请输入月份!": End '如果yf=空值 那么 <消息框>:"请输入月份!":结束
- r = Cells(Rows.Count, 2).End(xlUp).Row 'r=单元格坐标(行数值,2 )的<末端>(方向向上 )的行标
- AutoFilterMode = False 'AutoFilterMode=False
- Rows(2).AutoFilter '<行>坐标(2 )的自动筛选
- For Each ob In ActiveSheet.OLEObjects '设定循环变量的范围为:每一个ob 位于 活动工作表的OLEObjects
- If ob.Object.Value = True And Left(ob.Name, 12) = "OptionButton" Then '如果 ob的对象的值=True 并且 <截取字符串左侧>( ob的名称,12)="OptionButton" 那么
- If ob.Object.Caption = "全部" Then GoTo 10 '如果 ob的对象的标题="全部" 那么 跳至10
- mc = Replace(ob.Object.Caption, "公司", "") 'mc=<替换字符串>( ob的对象的标题,"公司","")
- Range("a2:h" & r).AutoFilter Field:=2, Criteria1:=yf, Operator:=xlAnd '单元格区域("a2:h" & r )的自动筛选Field=2,Criteria1=yf,操作符=xlAnd
- Range("a2:h" & r).AutoFilter Field:=3, Criteria1:=mc, Operator:=xlAnd '单元格区域("a2:h" & r )的自动筛选Field=3,Criteria1=mc,操作符=xlAnd
- Exit For '退出当前for循环,执行NEXT后面的语句
- End If 'If判断过程结束
- Next '下一个
- 10: '10:
- Application.ScreenUpdating = True '开启屏幕刷新
- End Sub '子过程结束
- Sub Macro1() '子过程 Macro1()
- With Selection.Validation '工作于 选中的数据有效性
- .Delete '<With对象>的删除
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= xlBetween, Formula1:="1,2,3"
- '<With对象>的添加 类型=值必须存在于指定列表中,警告类型=停止图标,操作符=介于,公式1="1,2,3"
- .IgnoreBlank = True '<With对象>的忽略空白值=True
- .InCellDropdown = True '<With对象>的InCellDropdown=True
- .InputTitle = "" '<With对象>的“输入信息”对话框的标题=空值
- .ErrorTitle = "" '<With对象>的出错警告对话框的标题=空值
- .InputMessage = "" '<With对象>的输入信息提示=空值
- .ErrorMessage = "" '<With对象>的出错警告对话框的错误信息=空值
- .IMEMode = xlIMEModeNoControl '<With对象>的输入法模式=无控制
- .ShowInput = True '<With对象>的ShowInput=True
- .ShowError = True '<With对象>的ShowError=True
- End With 'With语句结束
- End Sub '子过程结束
复制代码
|
|