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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2011, 16:01   #1
Robespierre
Новичок
Джуниор
 
Регистрация: 22.02.2011
Сообщений: 2
По умолчанию Перенос текста из ячейки в автофигуру

Доброго времени суток

Итак имеется текст. Переношу в автофигуру таким способом.
ActiveSheet.Shapes("Ïîëå1").Select
Selection.Characters.Text = Worksheets("Øòàìï").Range("H2").Val ue
If Worksheets("options").Range("B2").V alue = "1" Then
'в опциях настройка использовать текст по умолчанию или брать размер из ячейки.
Selection.Font.Size = Worksheets("Øòàìï").Range("H2").Fon t.Size
End If

Внезапно возникла необходимость, переносить все свойства текста в том числе надстрочность и подстрочность и тут оказывается, что вариант как с размером не прокатывает, прошу подскажите, как можно это сделать, возможно есть команда свойств текста или что-нибудь в этом роде. Поиск юзал не помогло. Хочется подобного:
Selection.Font.Superscript = Worksheets("Øòàìï").Range("H2").Fon t.Superscript
Robespierre вне форума Ответить с цитированием
Старый 22.02.2011, 17:30   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
возможно есть команда свойств текста или что-нибудь в этом роде
есть.
но придётся в цикле перебирать все символы:

Код:
Sub test()
    Dim sha As Shape: Set sha = ActiveSheet.Shapes(1)
    sha.TextFrame.Characters.Text = Range("a1").Value

    For i = 1 To Len(sha.TextFrame.Characters.Text)
      If Range("a1").Characters(i, 1).Font.Subscript Then sha.TextFrame.Characters(i, 1).Font.Subscript = True
      If Range("a1").Characters(i, 1).Font.Superscript Then sha.TextFrame.Characters(i, 1).Font.Superscript = True
    Next i
End Sub

Пример в файле: http://excelvba.ru/XL_Files/Sample__...__19-29-55.zip
(нажмите зелёную кнопочку)
EducatedFool вне форума Ответить с цитированием
Старый 24.02.2011, 09:16   #3
Robespierre
Новичок
Джуниор
 
Регистрация: 22.02.2011
Сообщений: 2
По умолчанию

Большое спасибо, все работает
Robespierre вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос внутри ячейки orange_rush Microsoft Office Excel 1 29.12.2010 16:32
перенос строки с пустой ячейки HospodySave Microsoft Office Excel 10 24.06.2010 07:16
перенос текста densi2009 Microsoft Office Word 6 08.10.2009 17:53
Перенос текста soonner JavaScript, Ajax 5 06.05.2009 19:13
Перенос данніх в зависимости от цвета ячейки gavrylyuk Microsoft Office Excel 8 08.08.2008 19:11