Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема с изменением ширины столбца в Excel через VBA / 9 сообщений из 9, страница 1 из 1
15.08.2007, 09:10
    #34728248
Sres
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с изменением ширины столбца в Excel через VBA
Есть проблемка - не могу изменить ширину столбца, задать ему имя и т.п. в 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
15.08.2007, 09:23
    #34728270
Sres
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с изменением ширины столбца в Excel через VBA
После слов:
' Так я пытался...

идут три строки на каждую из строк ВБА ругается...
...
Рейтинг: 0 / 0
15.08.2007, 10:13
    #34728411
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с изменением ширины столбца в Excel через VBA
правда у меня 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
15.08.2007, 11:13
    #34728605
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с изменением ширины столбца в Excel через VBA
Код: plaintext
1.
        ws.Range("A1").Value = "Дата отчета"
        ws.Columns( 1 ).ColumnWidth =  30 

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

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

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

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


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


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