Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.08.2007, 20:14   #1
Andr
Пользователь
 
Аватар для Andr
 
Регистрация: 11.04.2007
Сообщений: 75
По умолчанию Форматирование ячеек

Помогите пожалуйста в 3х вопросах
1. Как программно вписать текст в ячейку вертикально?
2. Как программно менять размеры ячейки?
3. Как, опять же программно, выделять границы ячейки жирным?
Andr вне форума
Старый 16.08.2007, 23:16   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

1.
Код:
Private Sub Test()
    Range("A1").Value = "Текст"
    Range("A1").Orientation = 90 '-90
 
    'Or
   
    Range("B1").Value = GetText("Текст")
End Sub
 
Private Function GetText$(iText$)
    For iCount& = 1 To Len(iText$)
        iTemp$ = iTemp$ & Mid(iText$, iCount&, 1) & vbLf
    Next
    GetText$ = Left(iTemp$, Len(iTemp$) - 1)
End Function
2.
Код:
Range("C3").RowHeight = 10
Range("C5").ColumnWidth = 25
3.
Код:
With Range("C3")
     .Borders(xlEdgeLeft).Weight = xlMedium
     .Borders(xlEdgeTop).Weight = xlMedium
     .Borders(xlEdgeBottom).Weight = xlMedium
     .Borders(xlEdgeRight).Weight = xlMedium
End With
P.S. Ответы на подобные вопросы можно найти самостоятельно, если воспользоваться макрорекордером (Сервис-Макрос-Начать запись- ...нужные действия ... -Остановить запись), а затем почистить полученный макрос от мусора, например, убрать ненужное выделение.
pashulka вне форума
Старый 16.08.2007, 23:35   #3
Andr
Пользователь
 
Аватар для Andr
 
Регистрация: 11.04.2007
Сообщений: 75
По умолчанию

Большое спасибо!
Andr вне форума
Старый 17.08.2007, 14:34   #4
Andr
Пользователь
 
Аватар для Andr
 
Регистрация: 11.04.2007
Сообщений: 75
По умолчанию

Еще 1 вопрос: как объединить несколько ячеек в одну?
Andr вне форума
Старый 17.08.2007, 16:38   #5
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,082
По умолчанию

Код:
Range("B1:B2").Select
Selection.Merge
где:
Range("B1:B2").Select - выделенный диапазон ячеек для объединения
Selection.Merge - объединение

И не забывайте
Цитата:
P.S. Ответы на подобные вопросы можно найти самостоятельно, если воспользоваться макрорекордером (Сервис-Макрос-Начать запись- ...нужные действия ... -Остановить запись), а затем почистить полученный макрос от мусора, например, убрать ненужное выделение.

Последний раз редактировалось Noor; 17.08.2007 в 16:43.
Noor вне форума
Старый 17.08.2007, 16:54   #6
Andr
Пользователь
 
Аватар для Andr
 
Регистрация: 11.04.2007
Сообщений: 75
По умолчанию

А чему равны xlEdgeLeft, xlEdgeTop, xlEdgeBottom, xlEdgeRight?
По ходу еще вопрос возник. Почему значение переменной типа string нельзя записать в ячейку?

Последний раз редактировалось Andr; 17.08.2007 в 17:40.
Andr вне форума
Старый 17.08.2007, 20:09   #7
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

1. Об'единить несколько смежных ячеек можно ещё и так, причём, вне зависимости от способа - использовать выделение не нужно.
Код:
Range("B1:B5").MergeCells = True
2. Что касается констант, то их числовые представления можно посмотреть, например, в справке VBA, а можно воспользоваться и вполне банальным MsgBox xlEdgeLeft

3. Предположим, что в текущей рабочей книге наличествуют как минимум один рабочий лист и мы можем изменить значение нужной ячейки.
Код:
Dim iText As String
iText = "Это строка, как ни крути"
ThisWorkbook.Worksheets(1).Range("A1").Value = iText
pashulka вне форума
Старый 17.08.2007, 22:00   #8
Andr
Пользователь
 
Аватар для Andr
 
Регистрация: 11.04.2007
Сообщений: 75
По умолчанию

XlApp.ActiveWorkBook.WorkSheets[Edit5.Text].Range['E1'].Value := tmp;
tmp - string. Не работает ((
Andr вне форума
Старый 17.08.2007, 22:11   #9
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Я подозревал, что Вы "мучаете" XL из Delphi, но, увы, это не моя епархия.
pashulka вне форума
Старый 17.08.2007, 22:53   #10
Andr
Пользователь
 
Аватар для Andr
 
Регистрация: 11.04.2007
Сообщений: 75
По умолчанию

Согласен, что мучаю, но надо начинать с простого...
Andr вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматирование ячеек shmelvs Microsoft Office Excel 6 24.07.2008 10:24
Условное форматирование ячеек. *Иван* Microsoft Office Excel 2 24.11.2007 13:49
Условное форматирование Asu Microsoft Office Excel 2 18.10.2007 10:14
Форматирование чисел Gorin Общие вопросы Delphi 11 26.09.2007 10:30
Условное форматирование + размер ячеек. Hellen Microsoft Office Excel 5 07.01.2007 20:49