excel - 基于其他列结构使用 VBA 控制(隐藏、显示)列
问题描述
我无法弄清楚 VBA 根据“模板”区域(C 到 G 列)设置(隐藏或显示)某个区域(K 到 O 列)中的列的正确逻辑。在下面的示例中,我隐藏了 D 列,我想运行一个代码来扫描 C3 到 G3 范围内的哪些列被隐藏或显示,并相应地(显示或隐藏列)编辑 K3 到 O3 范围内的列,其中在此示例中意味着隐藏列 L。我可以使用范围并可以出于我的目的进一步编辑代码,但我只是不知道如何以某种方式将列结构保存在模板中并将其复制到第二个区域中。另外,模板中会有公式,编辑区会有空值,但我想我可以自己做这个调整。我会很感激任何想法。
解决方案
请尝试下一个代码:
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”中的列。
推荐阅读
- python - 如何扩展列表以处理诸如“38359*0”之类的元素,我想将其表示为等于 0 的 38359 个元素?
- websphere - 如何从 Websphere Portal 服务器获取 HTML url?
- pagespeed - Google PageSpeed Insights 上的灯塔错误 - ERRORED_DOCUMENT_REQUEST
- imagemagick - 将图像转换为不带 BMP 标头的 BMP RGB565
- graph - 如何在连通图中匹配 Gremlin 中未链接的顶点
- ios - 在 ios 上反应原生 57.7 黑屏
- python - 如何在 Kivy 的屏幕(类)之间传递变量?
- python - 在 Django 站点上运行外部 Python 脚本
- soap - NetSuite SOAP 更新到地址簿添加地址
- javascript - 是否可以在每次下载后增加的 PDF 上生成动态邮票序列号?