Как я могу использовать ColumnWidth? - PullRequest
1 голос
/ 29 апреля 2019

У меня проблемы с явным заданием ширины столбца.

Я пробовал следующее, но постоянно получаю ту же ошибку Application-defined or object-defined error:

Dim curr_ws As Worksheet
Set curr_ws = Worksheets("newsheet")
curr_ws.Range("B1").ColumnWidth = 342
curr_ws.Range("B").ColumnWidth = 342
curr_ws.Columns(2).ColumnWidth = 342

Я пытаюсь явно установить ширину столбца B равной 342 пикселям, если это неясно.

Меня также смущает вопрос, является ли это атрибутом объекта Range или Columns, поскольку примеры в сети немного отличаются от показанных в официальной документации

1 Ответ

0 голосов
/ 29 апреля 2019

Последний должен быть прав. Это потому, что ширина столбца не может быть изменена для одной ячейки. Таким образом, вы должны использовать «объект столбцы». Я не знаю, знаете ли вы это, но вы могли бы также выяснить это с помощью макро-рекордера. Я также дал бы вам совет использовать внутреннее имя листа vba, которое делает код устойчивым к изменению имени листа.

Sheets("tabel1").Columns("B").ColumnWidth = 342

Если этот не работает, попробуйте следующее:

Sheets("tabel1").Columns("B:B").ColumnWidth = 342

Надеюсь, это правильное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...