Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Создание отчета в Excel

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
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;


Не получается прописать вырванивение в ячейке, пробовала различные варианты, пока безрезультатно.
Еще как сделать объединение ячеек и все же интересно как сделать автоширину колонок.
На этом всё. Есть идеи? Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vitaly
Большой шоколадный орден
Большой шоколадный орден


Зарегистрирован: 29.07.2008
Сообщения: 281
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Ноя 25, 2009 18:44    Заголовок сообщения: Ответить с цитатой

А с шириной колонки получилось ? Повторюсь надо смотреть описание VBA
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Дима Костиков
Знаю Босс


Зарегистрирован: 14.05.2008
Сообщения: 12
Откуда: UK

СообщениеДобавлено: Ср Ноя 25, 2009 19:40    Заголовок сообщения: Ответить с цитатой

да проще все, включаешь запись макроса в экселе, делаешь операции ручками - увеличил ширину, объединил ячейки, выключаешь запись макроса, потом идешь в редактор и смотришь чего он там написал
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора MSN Messenger
Mila



Зарегистрирован: 28.05.2009
Сообщения: 44
Откуда: СПб

СообщениеДобавлено: Ср Ноя 25, 2009 22:49    Заголовок сообщения: Ответить с цитатой

Vitaly
Да, получилось. Хорошо, поищу. Спасибо.

Дима Костиков
Мне нужно прописать пару строк и все.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Eng
Site Admin


Зарегистрирован: 13.05.2008
Сообщения: 160

СообщениеДобавлено: Чт Ноя 26, 2009 00:42    Заголовок сообщения: Ответить с цитатой

Mila
Вам Дмитрий дал замечательный совет, я сам часто так делаю Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mila



Зарегистрирован: 28.05.2009
Сообщения: 44
Откуда: СПб

СообщениеДобавлено: Чт Ноя 26, 2009 01:26    Заголовок сообщения: Ответить с цитатой

Но мы не ищем легких путей! Very Happy
Может кому-нибудь сгодится...

Код:

--- Объединить ячейки
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
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU