Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменение размера шрифта в одной ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение размера шрифта в одной ячейке (Макросы/Sub)
Изменение размера шрифта в одной ячейке
Skorpika Дата: Воскресенье, 28.12.2014, 18:00 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
Спецы, подскажите.
Можно ли при выводе текста тектстбокса в ячейку листа экселя, сделать разные фрагменты текста разного размера и "жирности"
К примеру ТextBox="Иван Иванов", при этом в ячейке должно получиться Сеlls(1,1)= "Иван Иванов" и "Иванов" Другим размером шрифта (Большего). Или формат текста буде таким каким задан в ячейке (1, 1) по умолчанию. Вручную изменить размер шрифта фрагмента ячейки вроде прокатывает.
 
Ответить
СообщениеСпецы, подскажите.
Можно ли при выводе текста тектстбокса в ячейку листа экселя, сделать разные фрагменты текста разного размера и "жирности"
К примеру ТextBox="Иван Иванов", при этом в ячейке должно получиться Сеlls(1,1)= "Иван Иванов" и "Иванов" Другим размером шрифта (Большего). Или формат текста буде таким каким задан в ячейке (1, 1) по умолчанию. Вручную изменить размер шрифта фрагмента ячейки вроде прокатывает.

Автор - Skorpika
Дата добавления - 28.12.2014 в 18:00
wild_pig Дата: Воскресенье, 28.12.2014, 18:11 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
И макросом прокатит. Что нужно выделять - второе слово, может весь текст после первого, а может этот пример это "пример"?


Сообщение отредактировал wild_pig - Воскресенье, 28.12.2014, 18:13
 
Ответить
СообщениеИ макросом прокатит. Что нужно выделять - второе слово, может весь текст после первого, а может этот пример это "пример"?

Автор - wild_pig
Дата добавления - 28.12.2014 в 18:11
Skorpika Дата: Воскресенье, 28.12.2014, 18:34 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
Там по итогу получается текстбох из 20-30 строк (шрифт прямой 10 размера), и вот последняя - подпись начальника "Самый главный начальник ____________ Иванов И.И." (вот ее бы шрифт 12, кривой и жирный). И отделить её от текста пока нет возможности.
[moder]Читаем Правила форума. Прикладываем файл с примером[/moder]


Сообщение отредактировал Skorpika - Воскресенье, 28.12.2014, 18:35
 
Ответить
СообщениеТам по итогу получается текстбох из 20-30 строк (шрифт прямой 10 размера), и вот последняя - подпись начальника "Самый главный начальник ____________ Иванов И.И." (вот ее бы шрифт 12, кривой и жирный). И отделить её от текста пока нет возможности.
[moder]Читаем Правила форума. Прикладываем файл с примером[/moder]

Автор - Skorpika
Дата добавления - 28.12.2014 в 18:34
Skorpika Дата: Воскресенье, 28.12.2014, 20:05 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
нет проблем
Последнюю строчку с Ивановым сделать бы побольше и пожирнее.
Разнести по разным боксам или по разным ячейкам в листе пока нет возможности.
К сообщению приложен файл: 7037055.xls (29.0 Kb)


Сообщение отредактировал Skorpika - Воскресенье, 28.12.2014, 20:06
 
Ответить
Сообщениенет проблем
Последнюю строчку с Ивановым сделать бы побольше и пожирнее.
Разнести по разным боксам или по разным ячейкам в листе пока нет возможности.

Автор - Skorpika
Дата добавления - 28.12.2014 в 20:05
SkyPro Дата: Воскресенье, 28.12.2014, 20:28 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Запишите макрорекордером форматирование куска текста, при помощи instrrev найдите последнюю "." , и с этого места примените записанное.

[vba]
Код
'делает "жирным" текст после последней "точки" в ячейке. Принимает в качестве аргумента ячейку.
Sub setBold(rCell As Range)
     Dim strt&
     With rCell
         strt = InStrRev(.Value, ".") + 1
         If strt > 0 Then .Characters(Start:=strt, Length:=Len(.Value)).Font.FontStyle = "полужирный"
     End With
End Sub

'Пример использования
Sub setBoldFirstCell()
     setBold ActiveCell
End Sub
[/vba]


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Воскресенье, 28.12.2014, 20:37
 
Ответить
СообщениеЗапишите макрорекордером форматирование куска текста, при помощи instrrev найдите последнюю "." , и с этого места примените записанное.

[vba]
Код
'делает "жирным" текст после последней "точки" в ячейке. Принимает в качестве аргумента ячейку.
Sub setBold(rCell As Range)
     Dim strt&
     With rCell
         strt = InStrRev(.Value, ".") + 1
         If strt > 0 Then .Characters(Start:=strt, Length:=Len(.Value)).Font.FontStyle = "полужирный"
     End With
End Sub

'Пример использования
Sub setBoldFirstCell()
     setBold ActiveCell
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 28.12.2014 в 20:28
Pelena Дата: Воскресенье, 28.12.2014, 20:36 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Была похожая тема
По аналогии как-то так
[vba]
Код
Private Sub CommandButton1_Click()
       Dim iStart&, sSearchString
       With Sheets("Лист1")
           .Cells(1, 1) = TextBox1.Value
           sSearchString = "Заместитель чегото там"
           If .Cells(1, 1) Like "*" & sSearchString & "*" Then
               iStart = InStr(.Cells(1, 1).Value, sSearchString)
               With .Cells(1, 1).Characters(Start:=iStart, Length:=Len(.Cells(1, 1).Value) - iStart + 1).Font
                   .Bold = True
                   .Italic = True
                   .Size = 12
               End With
           End If
           .Range("A1:C3").PrintOut Copies:=1
       End With
End Sub
[/vba]
К сообщению приложен файл: 3195935.xls (39.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеБыла похожая тема
По аналогии как-то так
[vba]
Код
Private Sub CommandButton1_Click()
       Dim iStart&, sSearchString
       With Sheets("Лист1")
           .Cells(1, 1) = TextBox1.Value
           sSearchString = "Заместитель чегото там"
           If .Cells(1, 1) Like "*" & sSearchString & "*" Then
               iStart = InStr(.Cells(1, 1).Value, sSearchString)
               With .Cells(1, 1).Characters(Start:=iStart, Length:=Len(.Cells(1, 1).Value) - iStart + 1).Font
                   .Bold = True
                   .Italic = True
                   .Size = 12
               End With
           End If
           .Range("A1:C3").PrintOut Copies:=1
       End With
End Sub
[/vba]

Автор - Pelena
Дата добавления - 28.12.2014 в 20:36
Skorpika Дата: Воскресенье, 28.12.2014, 20:48 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
Спс за рекодер. instrrev - к сожалению для меня пока с другой планеты, а вот посчитать количество знаков в ячейке (оно всегда переменное), и изменить исключительно последние требуемые (а их количество с конца одинаково) это уже вроде решаемо. попробую. кстати, как посчитать кол-во знаков в ячейке?
[vba]
Код

Sub Макрос2()
'
' Макрос2 Макрос
' Макрос записан 28.12.2014 (SkorpikaCom)
'

'
      
     With Cells(13, 1).Characters(Start:=1, Length:=33).Font
         .Name = "Times New Roman"
         .FontStyle = "курсив"
         .Size = 11
         .Strikethrough = False
         .Superscript = False
         .Subscript = False
         .OutlineFont = False
         .Shadow = False
         .Underline = xlUnderlineStyleNone
         .ColorIndex = xlAutomatic
     End With
     With Cells(13, 1).Characters(Start:=34, Length:=105).Font
         .Name = "Times New Roman"
         .FontStyle = "полужирный курсив"
         .Size = 11
         .Strikethrough = False
         .Superscript = False
         .Subscript = False
         .OutlineFont = False
         .Shadow = False
         .Underline = xlUnderlineStyleNone
         .ColorIndex = xlAutomatic
     End With
End Sub
[/vba]


Сообщение отредактировал Skorpika - Воскресенье, 28.12.2014, 20:51
 
Ответить
СообщениеСпс за рекодер. instrrev - к сожалению для меня пока с другой планеты, а вот посчитать количество знаков в ячейке (оно всегда переменное), и изменить исключительно последние требуемые (а их количество с конца одинаково) это уже вроде решаемо. попробую. кстати, как посчитать кол-во знаков в ячейке?
[vba]
Код

Sub Макрос2()
'
' Макрос2 Макрос
' Макрос записан 28.12.2014 (SkorpikaCom)
'

'
      
     With Cells(13, 1).Characters(Start:=1, Length:=33).Font
         .Name = "Times New Roman"
         .FontStyle = "курсив"
         .Size = 11
         .Strikethrough = False
         .Superscript = False
         .Subscript = False
         .OutlineFont = False
         .Shadow = False
         .Underline = xlUnderlineStyleNone
         .ColorIndex = xlAutomatic
     End With
     With Cells(13, 1).Characters(Start:=34, Length:=105).Font
         .Name = "Times New Roman"
         .FontStyle = "полужирный курсив"
         .Size = 11
         .Strikethrough = False
         .Superscript = False
         .Subscript = False
         .OutlineFont = False
         .Shadow = False
         .Underline = xlUnderlineStyleNone
         .ColorIndex = xlAutomatic
     End With
End Sub
[/vba]

Автор - Skorpika
Дата добавления - 28.12.2014 в 20:48
RAN Дата: Воскресенье, 28.12.2014, 21:01 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
instrrev - к сожалению для меня пока с другой планеты

Не, на Планету, тем паче не друой конец ходить не надо.
[vba]
Код
instrrev =instr
[/vba]
Токмо с другого конца. F1 расскажет подробнее.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
instrrev - к сожалению для меня пока с другой планеты

Не, на Планету, тем паче не друой конец ходить не надо.
[vba]
Код
instrrev =instr
[/vba]
Токмо с другого конца. F1 расскажет подробнее.

Автор - RAN
Дата добавления - 28.12.2014 в 21:01
Skorpika Дата: Воскресенье, 28.12.2014, 21:12 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 32
Репутация: 0 ±
Замечаний: 20% ±

Excel 2003 и 13
RAN, :) спс за помощь в прошлые разы, но сейчас тут твой ответ для меня пока на клингонском.
Решил пока как смог
Len(Cells(13, 1)) - считает знаки в ячейке, соответственно

.... Cells(13, 1).Characters(Start:=..., Length:=....).Font....
Длинна Х
старт Len(Cells(13, 1))-X (X=надо посчитать кол-во символов в последней строке)
кстати, ересь с фэлсами в коде я так понимаю можно убрать?


Сообщение отредактировал Skorpika - Воскресенье, 28.12.2014, 21:44
 
Ответить
СообщениеRAN, :) спс за помощь в прошлые разы, но сейчас тут твой ответ для меня пока на клингонском.
Решил пока как смог
Len(Cells(13, 1)) - считает знаки в ячейке, соответственно

.... Cells(13, 1).Characters(Start:=..., Length:=....).Font....
Длинна Х
старт Len(Cells(13, 1))-X (X=надо посчитать кол-во символов в последней строке)
кстати, ересь с фэлсами в коде я так понимаю можно убрать?

Автор - Skorpika
Дата добавления - 28.12.2014 в 21:12
RAN Дата: Воскресенье, 28.12.2014, 22:46 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
ересь с фэлсами в коде я так понимаю можно убрать

Можно, наверное.
А что это такое, если не секрет?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
ересь с фэлсами в коде я так понимаю можно убрать

Можно, наверное.
А что это такое, если не секрет?

Автор - RAN
Дата добавления - 28.12.2014 в 22:46
Gustav Дата: Воскресенье, 28.12.2014, 23:56 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1138 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
внутри виза после сайза = 11 можно всё безболезненно убрать


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщениевнутри виза после сайза = 11 можно всё безболезненно убрать

Автор - Gustav
Дата добавления - 28.12.2014 в 23:56
RAN Дата: Понедельник, 29.12.2014, 00:09 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Gustav, :D


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеGustav, :D

Автор - RAN
Дата добавления - 29.12.2014 в 00:09
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение размера шрифта в одной ячейке (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!