02_工作簿筛选标记1.0

知识点:

  1. 方法调用,传参无返回值
  2. for each …next循环
  3. AutoFilter 筛选属性
  4. StrComp(str1,str2,0/-1) 字符串比较
  5. ActiveSheet.Tab.ColorIndex 工作表标色
  6. AutoFilterMode 工作表筛选状态
Option Explicit
Sub 自动筛选()

Dim Town As String
Dim wsh As Worksheet
 
Call 取消筛选标记  ' 初始化表格状态
  
Town = InputBox("请输入街道名称!")  ' 交互式输入

For Each wsh In Sheets     '表格循环

    wsh.Select
    If wsh.Range("G1").Value = "乡(镇、街道)" Then    'G列标题判定
        wsh.Range("G1").AutoFilter Field:=7, Criteria1:=Town
       
    Else:                                               'I列标题判定
        wsh.Range("I2").AutoFilter Field:=9, Criteria1:=Town
       
        Call SheetColor(wsh, Town)  'sheet标签标色--->方法调用
    End If
Next wsh

Sheet1.Select

End Sub
Sub SheetColor(wsh As Worksheet, Town As String)     '---->挨个对比太繁琐,进阶为find查找高效无遗漏 详情对比03

    Dim rage As Range
    For Each rage In wsh.Range("G2:I500")
        If StrComp(rage.Value, Town) = 0 Then
           ActiveSheet.Tab.ColorIndex = 6
           Exit For
        End If
    Next rage
End Sub
Sub 取消筛选标记()
    Dim wsh As Worksheet
    For Each wsh In Sheets
        wsh.Tab.ColorIndex = -4142 '判断,并取消筛选状态
        wsh.AutoFilterMode = False '判断,并取消筛选状态
    Next wsh
End Sub
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pigerr杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值