我想在我的作業簿中的大多數作業表中設定一列的列寬。
代碼如下所示:
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
還是一樣。
我不知道這里到底發生了什么。
uj5u.com熱心網友回復:
我在您的代碼中發現了 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/508289.html
上一篇:列范圍輸入為數字,因此可以更改
下一篇:在單擊“下一步”時到達該作業表的最后一個單元格后,用于回圈通過作業表上的預填充單元格的UserForm代碼遇到錯誤