excel - 重复更改列宽范围(VBA Excel)
问题描述
我想更改一系列列的列宽,然后循环命令。例如,更改 col"B" ~ col"N" 的列宽,然后重复该过程直到最后一列有数据。(我不想自动调整范围内的第一列)
但是,下面的命令不起作用,因为列范围设置不正确。我曾尝试使用 Range(Cells(1, 2), Cells(, colSize) 但这也不起作用。
Dim j As Integer
Dim colSize As Integer
colSize = 14
For j = 2 To Columns.Count Step colSize
Range(Columns(j), Columns(j + colSize - 1)).ColumnWidth.AutoFit
Next j
谢谢你。
解决方案
Union
也许您可以简单地使用该方法而不是循环
Application.Union(Columns("A:B"), Columns("D:L"), Columns("AA"), Columns("AC:AD"), Columns("AI:AJ"), Columns("AR"), Columns("AT"), Columns("BA"), Columns("BI"), Columns("BM")).Select
Selection.ColumnWidth = 8
上面的示例来自工作表,其中包括从 A 到 CB 的工作表或其他内容。
您可以选择所需的列(不一定按正确的顺序),然后设置它们的宽度。
推荐阅读
- javascript - 使用javascript输入后隐藏文本
- elasticsearch - 如何在 Golang 中将数组传递给 Elasticsearch 的 NewTermsQuery?
- ios - 在子视图中添加 UIImage 并添加约束 - 图像不会调整大小
- java - 在游戏框架中限制登录尝试 3 次
- r - R - 通过光栅图像(迷宫)找到成本最低的路径?
- haskell - 内联派生类型类方法
- android - 我怎样才能让多边形看相机(OpenGL)?
- ckeditor - 字体名称和大小下拉列表中的 CKEditor(默认)项
- c# - C# 按下按钮时显示文本(包括文本框中的文本)
- laravel - 如果我不在 Laravel 中设置外键约束,会发生什么不好的事情吗?