Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Mila
Зарегистрирован: 28.05.2009 Сообщения: 44 Откуда: СПб
|
Добавлено: Вт Ноя 24, 2009 15:01 Заголовок сообщения: Создание отчета в Excel |
|
|
Произвольные отчеты в Excel
Подскажите как правильно прописать такие моменты как...
- Автоматическая ширина ячеек или как указать их ширину
- Как сделать шрифт текста в ячейке жирным
- Как сделать границы ячейки
Заранее благодарю. |
|
Вернуться к началу |
|
 |
Vitaly Большой шоколадный орден

Зарегистрирован: 29.07.2008 Сообщения: 281 Откуда: Санкт-Петербург
|
Добавлено: Вт Ноя 24, 2009 17:34 Заголовок сообщения: |
|
|
Это уже надо VBA смотреть, к примеру: Код: | vb {sheet.sheets(1).cells(1,1).Interior.Color = RGB(250,250,0)} --- желтая ячейка
vb {sheet.sheets(1).cells(1,1).Font.bold=True} --- жирный шрифт
|
А вообще как нарисуете в Эксель, так и будет выводиться, если форма известна, то форматирование, шрифты можно сразу задать
Последний раз редактировалось: Vitaly (Вт Ноя 24, 2009 18:43), всего редактировалось 1 раз |
|
Вернуться к началу |
|
 |
Mila
Зарегистрирован: 28.05.2009 Сообщения: 44 Откуда: СПб
|
Добавлено: Вт Ноя 24, 2009 18:19 Заголовок сообщения: |
|
|
Спасибо ))
В Excel выводится выборка по запросу, список сотрудников.
А может подскажите как сделать, чтобы каждая добавленная строка ячеек была выделена границами и имела нужную ширину?
Жирный шрифт прописала...
Код: |
-- запуск Excel
...
Ws=Wb.WorkSheets(1);
Ws.Cells(1,4).Font.Bold=True;
|
|
|
Вернуться к началу |
|
 |
Vitaly Большой шоколадный орден

Зарегистрирован: 29.07.2008 Сообщения: 281 Откуда: Санкт-Петербург
|
Добавлено: Вт Ноя 24, 2009 18:42 Заголовок сообщения: |
|
|
Код: | vb {sheet.sheets(1).cells(i,j).BorderAround(1) |
BorderAround - ещё можно указать стили бордюра, цвет. Как задать ширину, не скажу сейчас, надо смотреть свойства которые относятся к столбу, а не к ячейке. Может что-то типа этого
Код: | sheet.sheets(1).Columns(1).Width=10 |
|
|
Вернуться к началу |
|
 |
Mila
Зарегистрирован: 28.05.2009 Сообщения: 44 Откуда: СПб
|
Добавлено: Ср Ноя 25, 2009 17:26 Заголовок сообщения: |
|
|
Код: |
--- Заголовок
Ws.Cells(1,4)='СОГЛАСОВАНО';
Ws.Cells(2,3)=:User_APPOINT_DIR_;
Ws.Cells(5,1)='№';
--- Шрифт
Ws.Cells(1,4).Font.Bold=True;
--- Граница
Ws.Cells(5,1).BorderAround(1);
--- Ширина колонки
Ws.Columns(1).ColumnWidth=5;
|
Не получается прописать вырванивение в ячейке, пробовала различные варианты, пока безрезультатно.
Еще как сделать объединение ячеек и все же интересно как сделать автоширину колонок.
На этом всё. Есть идеи?  |
|
Вернуться к началу |
|
 |
Vitaly Большой шоколадный орден

Зарегистрирован: 29.07.2008 Сообщения: 281 Откуда: Санкт-Петербург
|
Добавлено: Ср Ноя 25, 2009 18:44 Заголовок сообщения: |
|
|
А с шириной колонки получилось ? Повторюсь надо смотреть описание VBA |
|
Вернуться к началу |
|
 |
Дима Костиков Знаю Босс
Зарегистрирован: 14.05.2008 Сообщения: 12 Откуда: UK
|
Добавлено: Ср Ноя 25, 2009 19:40 Заголовок сообщения: |
|
|
да проще все, включаешь запись макроса в экселе, делаешь операции ручками - увеличил ширину, объединил ячейки, выключаешь запись макроса, потом идешь в редактор и смотришь чего он там написал |
|
Вернуться к началу |
|
 |
Mila
Зарегистрирован: 28.05.2009 Сообщения: 44 Откуда: СПб
|
Добавлено: Ср Ноя 25, 2009 22:49 Заголовок сообщения: |
|
|
Vitaly
Да, получилось. Хорошо, поищу. Спасибо.
Дима Костиков
Мне нужно прописать пару строк и все. |
|
Вернуться к началу |
|
 |
Eng Site Admin
Зарегистрирован: 13.05.2008 Сообщения: 160
|
Добавлено: Чт Ноя 26, 2009 00:42 Заголовок сообщения: |
|
|
Mila
Вам Дмитрий дал замечательный совет, я сам часто так делаю  |
|
Вернуться к началу |
|
 |
Mila
Зарегистрирован: 28.05.2009 Сообщения: 44 Откуда: СПб
|
Добавлено: Чт Ноя 26, 2009 01:26 Заголовок сообщения: |
|
|
Но мы не ищем легких путей!
Может кому-нибудь сгодится...
Код: |
--- Объединить ячейки
Ws.Range("A4:E4").Select;
Ws.Application.Selection.Merge;
--- Выделить область
Ws.Range("A1:E5").Select;
--- Задать границу области
Ws.Application.Selection.Borders.LineStyle = 1;
--- Задать значение выделенной области
Ws.Range("A1:E5").Value = 3.14159;
--- Шрифт
--- Размер, стиль шрифта выделенной области
Ws.Range("A1:E5").Font.Size=12;
Ws.Range("A1:E5").Font.Name='Times New Roman';
Ws.Range("A1:E5").Font.Fontstyle = "Bold";
-- Граница
Ws.Range("A5:E5").BorderAround(1);
--- Выравнивание текста
--- Подставляем значения констант:
--xlLeft: -4131
--xlRight: -4152
--xlCenter: -4108
Ws.Range("A1:E5").Select;
Ws.Application.Selection.HorizontalAlignment = -4108;
Ws.Application.Selection.VerticalAlignment = -4108;
Ws.Cells(2,3).HorizontalAlignment = -4152;
Ws.Cells(2,5).HorizontalAlignment = -4131;
--- Перенос данных в выделенной области
Ws.Range("C5:C10").Select;
Ws.Application.Selection.WrapText = True;
--- Перенос данных в ячейках списка
Ws.Cells(2,3).WrapText = True;
|
Список значений констант Excel Excel - constants |
|
Вернуться к началу |
|
 |
|