Как в экселе сделать подчеркивание

Как в экселе сделать подчеркивание
Как в экселе сделать подчеркивание
Как в экселе сделать подчеркивание
Как в экселе сделать подчеркивание
Как в экселе сделать подчеркивание

Страница: 1 |


 

  Вопрос: VBA Excel Подчеркивание Добавлено: 02.12.10 18:49   Автор вопроса:  AesmaDiv Памагите нубу пжлста!
Нужна подсказка как реализовать частичное подчеркивание текста в ячейке при помощи самопальной функции Excel. То есть: имеется ячейка А1 со значением "Мама мыла раму". Необходимо заварганить такую функцию ПОДЧЕРК(), чтоб при применении в ячейке А2 -> (=ПОДЧЕРК(А1)) отображалось "Мама мыла раму".
Каэшна было бы проще ткнуть в кнопку подчеркивания на панели, но не тут-то было. Загвоздка в том, что функция нужна для возможности именно частичного подчеркивания. Например:
="Мама "&ПОДЧЕРК("мыла")&" раму"
должна возвращать:
Мама мыла раму
Пробовал баловаться с Underline, но его получается использовать в процедурах и макросах, а в функциях действовать отказывается. Оно то и понятно, функция должна возвращать значение. А вот как заставить функцию копировать текст и отображать делать его подчеркнутым?
зы. Может есть какой-то тэг подчеркивания в Excel, типа как в HTML? Ведь если ячейка содержит текст, то текст можно частично выделить и подчеркнуть, а если формулу, то кнопка подчеркивания даже неактивна.

Ответить


  Ответы Всего ответов: 6   Номер ответа: 1
Автор ответа:
 VbStarter

ICQ: 357911808 

Вопросов: 118
Ответов: 1338

 Web-сайт:
 Профиль | | #1 Добавлено: 02.12.10 22:09 вроде бы
  1. ="Мама " & Underline("Мыла ") & "раму"

Ответить

Номер ответа: 2
Автор ответа:
 VbStarter

ICQ: 357911808 

Вопросов: 118
Ответов: 1338

 Web-сайт:
 Профиль | | #2 Добавлено: 02.12.10 22:10

процедурах и макросах, а в функциях действовать отказывается.

Макрос, функция и процедура - это всё во встоенном в Execel VBA. надо помоему только код руками написать. :)

Ответить

Номер ответа: 3
Автор ответа:
 Artyom

Разработчик

Вопросов: 130
Ответов: 6596

 Профиль | | #3 Добавлено: 03.12.10 04:03
  1.     ActiveCell.FormulaR1C1 = "WAZZZZZZZZZZZZZUP"
  2.     With ActiveCell.Characters(Start:=4, Length:=4).Font
  3.         .Underline = xlUnderlineStyleSingle
  4.     End With

Ответить

Номер ответа: 4
Автор ответа:
 AesmaDiv

Вопросов: 1
Ответов: 3

 Профиль | | #4 Добавлено: 03.12.10 18:27 Не-а..нету такой функции в Excel. Underline это параметр шрифта, задаваемый через VBA.
expression.Font.Underline

Ответить

Номер ответа: 5
Автор ответа:
 AesmaDiv

Вопросов: 1
Ответов: 3

 Профиль | | #5 Добавлено: 03.12.10 19:11 Artyom Спасибо, но этот вариант не катит. Насколько я понимаю, это листинг макроса как подчеркнуть содержимое ячейки. Это я пробовал. Всё немного сложней. Макрос - по сути процедура, выполняемая принудительно, а нужна функция.
Допустим ячейка A1 содержит сложную формулу:
=ЕСЛИ((E5=0);"Масса нефти нетто(прописью) по листу: "&СуммаПрописьюТонны(A1);" ";)
отображается:
Масса нефти нетто(прописью) по листу: Одна тысяча двести сорок пять тонн
Нужно реализовать что-то вроде:
=ЕСЛИ((E5=0);"Масса нефти нетто(прописью) по листу: "&ПОДЧЕРК(СуммаПрописьюТонны(A1);" ";))
чтоб отображалось:
Масса нефти нетто(прописью) по листу: Одна тысяча двести сорок пять тонн.
В качестве функции мне это реализовать не удалось. Получилось создать процедуру:
  1. Sub ПОДЧЕРК()
  2. ActiveCell.Characters(Start:=4, Length:=4).Font.Underline = xlUnderlineStyleSingle
  3. End

однако, если в активной ячейке находится не текст, а формула, подчеркивается не с 4 символа начиная с 4-го, а всё содержимое ячейки.
Единственное до чего я добыдлокодился это:
  1. Sub UnderLN()
  2. Dim ind1, ind2
  3. Range("A10").Value = Range("A1").Value
  4. Range("A10").Activate
  5. ind1 = WorksheetFunction.Search(":", Range("A10"), 1)
  6. ind2 = Len(Range("A10").Text)
  7. ActiveCell.Characters(ind1, ind2).Font.Underline = xlUnderlineStyleSingle
  8. Range("A10").Copy
  9. Range("A1").PasteSpecial
  10. Range("A10").Clear
  11. End Sub

Копируем значение ячейки A1 в ячейку А10. Получаем ячейку А10 содержащую текст, а не формулу. Находим в тексте символ ":" и подчеркиваем все последующие символы. Копируем итог в ячейку А1 с сохранением форматирования и очищаем ячейку А10.
Косяки: Формула из ячейки А1 потеряна навечно. Можно реализовать функцию запроса адреса ячейки посредством InputBox() дабы не лезть в код каждый раз, но даже в этом случае придется вручную запускать макрос для каждого случая. Поэтому нужна функция, которую можно использовать в документе изначально при его составлении.
ЗЫ. Пробовал из функции вызывать процедуру Call UnderLN() - без результатно.
ЗЫЫ. Просто не верится, что это невозможно. :`(

Ответить

Номер ответа: 6
Автор ответа:
 AesmaDiv

Вопросов: 1
Ответов: 3

 Профиль | | #6 Добавлено: 03.12.10 19:15 Перепутал тэги курсива и подчеркивания, извините.
##Масса нефти нетто(прописью) по листу: Одна тысяча двести сорок пять тонн.

Ответить

Страница: 1 |


Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание Как в экселе сделать подчеркивание

Тоже читают:



Молодежная прическа для средних волос

Что писать в пригласительной открытке

Картины сделанные своими руками из природного материала

Новогодний костюм цыпленка для девочек своими руками

Красивая открытка в прощенное воскресение