Excel VBA宏忽略列宽命令
全部 当我编写以下excel VBA代码时,宏将列宽10.86应用于整个工作表,并忽略与列(A、B、C)相关的术语。有人能帮忙吗?提前谢谢Excel VBA宏忽略列宽命令,excel,Excel,全部 当我编写以下excel VBA代码时,宏将列宽10.86应用于整个工作表,并忽略与列(A、B、C)相关的术语。有人能帮忙吗?提前谢谢 Columns("A:A").Select Selection.ColumnWidth = 17.86 Columns("B:C").Select Selection.ColumnWidth = 19.86 Columns("D:I").Select Selection.ColumnWidth = 10.86 除非有其他代码更改选择,否则不应发生这种情
Columns("A:A").Select
Selection.ColumnWidth = 17.86
Columns("B:C").Select
Selection.ColumnWidth = 19.86
Columns("D:I").Select
Selection.ColumnWidth = 10.86
除非有其他代码更改选择,否则不应发生这种情况
请尝试此代码,它将设置活动工作表中的宽度
Dim ws As Worksheet
Set ws = ActiveSheet
With ws
.Columns("A:A").ColumnWidth = 17.86
.Columns("B:C").ColumnWidth = 19.86
.Columns("D:I").ColumnWidth = 10.86
End With
如果去掉Select语句,它将正常工作。下面的链接是关于在VBA中避免Select语句的一个很好的讨论
我不能复制这个。床单上是什么?请注意,您不需要
选择:列(“A:A”)。ColumnWidth=17.86
,等等。正如Ben所说,这可能是一个选择问题,直接引用可能会解决它。还要查看是否没有任何工作表更改事件同时运行,这可能会影响您的选择。
Columns("A:A").ColumnWidth = 17.86
Columns("B:C").ColumnWidth = 19.86
Columns("D:I").ColumnWidth = 10.86