vba隐藏,显示列

2个页面(首页、数据库整理), 在首页中D列填写1来选择数据库整理页面中要隐藏的列。 首页中C列内容通过超链接连接到数据库整理页面的对应列中。

支持选择性隐藏列;显示隐藏的列;隐藏所有的列

'隐藏列
Sub hidden_Click()
    Debug.Print "===========隐藏列时,在D列中填写1==========="
    Dim rowSize, j
    rowSize = Range("C2").End(xlDown).Row
    Debug.Print "选中数量:", rowSize
    
    For j = 2 To rowSize
        selectOk = LTrim(RTrim(Range("D" & j).Value))
        If selectOk = 1 Then
            '获取内容对应的链接地址
            'addr = Range("C" & j).Hyperlinks(1).SubAddress
            'tmp = Split(addr, "!")
            'linkAddr = tmp(1)
            'Debug.Print "内容:", Range("C" & j).Value, "超链接地址:", addr, linkAddr
            
            '通过内容名称找到超链接对应的列,然后隐藏 (名称必须相同否则无法隐藏)
            colValue = Range("C" & j).Value
            hidden_column (colValue)
        End If
    Next
    
End Sub

'隐藏选中的列
Function hidden_column(colValue)

    Debug.Print "隐藏列:", colValue
    Sheets("数据库整理").Select
    
    Set rng1 = Cells.Find(colValue)
    rng1.Select
    
    Selection.EntireColumn.Hidden = True
    Sheets("首页").Select
End Function


'显示所有隐藏的列
Sub show_Click()
    Debug.Print "==========显示所有的列=========="
    Sheets("数据库整理").Cells.EntireColumn.Hidden = False
    Sheets("首页").Select
End Sub


'隐藏所有的列
Sub hidden_all_Click()

        Debug.Print "==========隐藏所有的列=========="
        
        Debug.Print "总列数:", Sheets("数据库整理").UsedRange.Columns.Count
        
        Sheets("数据库整理").UsedRange.Columns.Hidden = True
        Sheets("首页").Select
End Sub

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值