Последний должен быть прав. Это потому, что ширина столбца не может быть изменена для одной ячейки. Таким образом, вы должны использовать «объект столбцы». Я не знаю, знаете ли вы это, но вы могли бы также выяснить это с помощью макро-рекордера. Я также дал бы вам совет использовать внутреннее имя листа vba, которое делает код устойчивым к изменению имени листа.
Sheets("tabel1").Columns("B").ColumnWidth = 342
Если этот не работает, попробуйте следующее:
Sheets("tabel1").Columns("B:B").ColumnWidth = 342
Надеюсь, это правильное решение.