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