繁体   English   中英

Excel VBA - 接收编译错误:预期:#

[英]Excel VBA - receiving Compile Error: Expected: #

我想在我的工作簿中的大多数工作表中设置一列的列宽。

代码如下所示:

Sub width()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name = "NAD SHEET" Or ws.Name = "BoM" Or ws.Name = "BoQ" Or ws.Name = "Sign Off Sheet" 
Or ws.Name = "PIANOI" Then
'do nothing
Else
ws.Range("M").ColumnWidth = 12.67
End If
Next ws
End Sub

我收到一个错误:

在此处输入图像描述

编译错误:预期:#

我也试过

With
ws.Range("M").ColumnWidth = 12.67
End With

ws.Range("M1:M").ColumnWidth = 12.67

还是一样。

我不知道这里到底发生了什么。

我在您的代码中发现了 2 处不正确的内容。

首先, if 语句需要在 1 行中(就像@braX 说的那样)。 如果您真的希望它是 2 行,请在第一行的末尾添加一个“_”。

其次,就像@Rory 所说,使用 Range("M:M")

测试代码后,它在我的电脑上运行正常:

 Sub width()
        Dim ws As Worksheet
        For Each ws In ActiveWorkbook.Worksheets
            If ws.Name = "NAD SHEET" Or ws.Name = "BoM" Or ws.Name = "BoQ" Or ws.Name = "Sign Off Sheet" _
            Or ws.Name = "PIANOI" Then
                'do nothing
            Else
                ws.Range("M:M").ColumnWidth = 12.67
            End If
        Next ws
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM