powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с изменением ширины столбца в Excel через VBA
9 сообщений из 9, страница 1 из 1
Проблема с изменением ширины столбца в Excel через VBA
    #34728248
Sres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть проблемка - не могу изменить ширину столбца, задать ему имя и т.п. в VBA для Excel 2007.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Set ex = GetObject(, "Excel.Application")      ' Получаем объект Excel
        
        If Err.Number <>  0  Then                        ' Если Excel не запущен...
            Set ex = CreateObject("Excel.Application")     ' Создаем объект Excel
        End If
        
        filename = "C:\MS2Excel.xlsm"
        Set wbs = ex.Workbooks ' Получаем коллекцию книг
        Set wb = ex.Workbooks.Open(filename)             ' Открываем нужную книгу
        ex.Sheets( 1 ).Select
        Set ws = wb.Worksheets( 1 ) ' Получаем 1 лист
        ws.Unprotect
 
' Так я пытался...
        Workbooks( 1 ).Worksheets( 1 ).Range(A1).Value = "Дата отчета"
        ws.Cells( 0 ,  1 ).Value = "Дата отчета"
        ws.Cells( 0 ,  1 ).ColumnWidth ( 2500 )

Выдаёт ошибку:
Run-time error '1004'
Application-defined or object-defined error


Прошу помочь разобраться. В VBA работаю третий день...
...
Рейтинг: 0 / 0
Проблема с изменением ширины столбца в Excel через VBA
    #34728270
Sres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После слов:
' Так я пытался...

идут три строки на каждую из строк ВБА ругается...
...
Рейтинг: 0 / 0
Проблема с изменением ширины столбца в Excel через VBA
    #34728411
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правда у меня 2003, попробуй так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub OpenBook2()
    Dim bk As Workbook, ls As Worksheet

    Application.ScreenUpdating = False
    Set bk = Workbooks.Open("C:\Книга2.xls")
    Set ls = bk.Worksheets("Sheet1")
    
    ls.Cells( 1 ,  1 ).Value = "Дата отчета"
    ls.Columns("A:A").ColumnWidth =  25 
    
    ' и так далее
    
    Set ls = Nothing
    bk.Save
    bk.Close
    Set bk = Nothing
    Application.ScreenUpdating = True
End Sub
Это я написал в модуле Книга1.xls
Открываю Книга2.xls и имя листа Sheet1
Ширина колонки A делаю 25
...
Рейтинг: 0 / 0
Проблема с изменением ширины столбца в Excel через VBA
    #34728605
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
        ws.Range("A1").Value = "Дата отчета"
        ws.Columns( 1 ).ColumnWidth =  30 

Кстате ширина столбца может быть в диапазоне от 0 до 255
...
Рейтинг: 0 / 0
Проблема с изменением ширины столбца в Excel через VBA
    #34728617
Sres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное, klen_,
проблема решена...
Необходимо было колонки указывать буквами и заполнять ячейки начиная с "1", а не с "0"
...
Рейтинг: 0 / 0
Проблема с изменением ширины столбца в Excel через VBA
    #34728622
Sres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deggasad
Код: plaintext
1.
        ws.Range("A1").Value = "Дата отчета"
        ws.Columns( 1 ).ColumnWidth =  30 

Кстате ширина столбца может быть в диапазоне от 0 до 255

Да, спасибо. Теперь, думаю, научился изменять ячейки и из свойства :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Проблема с изменением ширины столбца в Excel через VBA
    #37359362
KpaqpTuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно ли изменить ширину столбца, обращаясь к нему не по адресу а по имени из макроса Excel?
нужно примерно так:
Код: plaintext
Columns("test").ColumnWidth =  0 

Если делать по адресу ("A:A"), то все гуд, а по имени ("test") ошибка 13 type mismatch
...
Рейтинг: 0 / 0
Проблема с изменением ширины столбца в Excel через VBA
    #37359390
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Range("test").Columns.ColumnWidth= 25 
...
Рейтинг: 0 / 0
Проблема с изменением ширины столбца в Excel через VBA
    #37359398
KpaqpTuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Код: plaintext
Range("test").Columns.ColumnWidth= 25 


Игрался с range но вот про .Columns не подумал, сразу ширину менял. Благодарю, все работает.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с изменением ширины столбца в Excel через VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]