excel - Excel VBA代码在隐藏之前获取列的原始宽度
问题描述
我将完全空的列“E”的宽度设置为 29 磅并隐藏该列。
然后,我“转到”单元格 E1(通过 Control+G 命令)并查找“格式 -> 列宽”,它正确地将宽度显示为零,因为“E”列被隐藏了。
如果我随后取消隐藏 E 列,则该列的宽度将恢复为原来的 29。Excel 会以某种方式记住这一点。
我想查看 VBA 代码以在隐藏列之前检索它的原始宽度。
解决方案
答案是你真的做不到。但是,您可以快速取消隐藏它、获取宽度并重新隐藏该列,而用户甚至不会注意到。
Sub test()
Debug.Print Range("A:A").ColumnWidth '0
'unhide the column
Application.ScreenUpdating = False
Range("A:A").EntireColumn.Hidden = False
Debug.Print Range("A:A").ColumnWidth '30
'rehide the column
Range("A:A").EntireColumn.Hidden = True
Application.ScreenUpdating = True
Debug.Print Range("A:A").ColumnWidth '0
End Sub
推荐阅读
- python - 如何分配标签和分组依据?
- java - Maven 清理后不编译。“找不到标志”
- hadoop - 如何解决windows 10中hadoop的这个错误?
- javascript - 为什么打字稿不允许使用完全相同的参数覆盖函数
和返回类型 ? - node.js - 服务器端验证 - 使用 Facebook 登录,无需重定向
- ios - Swift:如何删除最后添加的重复项
- c++ - 过度使用 Pragma Pack(1)
- python - 在 Python 列表推导中,你只需要一个表达式和一个 for 循环吗?
- flutter - Flutter/Dart Shared Preferences DateTime 被转换
- c# - 使用 Swashbuckle 5.x 在通用 T 参数引用属性上指定 nullable = true