如何解决根据其他列结构使用VBA控制隐藏,显示列
我无法为VBA根据“模板”区域(C至G列)设置(隐藏或显示)某些区域(K至O列)中的列的正确逻辑。 在下面的示例中,我隐藏了D列,我想运行一个代码来扫描隐藏或显示C3到G3范围内的哪些列,并相应地(显示或隐藏列)编辑K3到O3范围内的列,在此示例中表示隐藏列L。 我可以使用范围,并且可以根据自己的目的进一步编辑代码,但是我只是不知道如何以某种方式将列结构保存在模板中,然后在第二个区域中复制它。 此外,模板中将包含公式,而编辑区域中将包含null,但是我想我可以自己进行此调整。 我将不胜感激。
解决方法
请尝试下一个代码,
Sub testHideUnhide()
Dim sh As Worksheet,rng As Range,cel As Range
Set sh = ActiveSheet 'use here your sheet,if not the active one
Set rng = sh.Range("C3:G3")
For Each cel In rng.cells
cel.Offset(0,9).EntireColumn.Hidden = cel.EntireColumn.Hidden
Next
从这种角度来看,它将根据“ C:G”情况在“ K:O”范围内隐藏和取消隐藏列。
,隐藏带偏移的列
Option Explicit
Sub hideCols()
Const src As String = "C:G"
Const dst As String = "K:O"
Dim n As Long
For n = 1 To Columns(dst).Count
Columns(dst).Columns(n).Hidden = Columns(src).Columns(n).Hidden
Next n
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。