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

Вход

Регистрация

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

 

= Мир MS Excel/Создание встроенной функции которая обрежет строку и + "..." - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание встроенной функции которая обрежет строку и + "..." (Макросы/Sub)
Создание встроенной функции которая обрежет строку и + "..."
Michaelw Дата: Вторник, 05.08.2014, 19:58 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
Здравствуйте,

Помогите пожалуйста создать встроенную функцию, которая будет обрезать заданную строку, до заданного кол-ва знаков, но будет добавлять многоточие(три знака) и считать длинну с учётом "..."

Я написал такую формулу =ЕСЛИ(ДЛСТР(СЖПРОБЕЛЫ(B3))>A3;ЛЕВСИМВ(СЖПРОБЕЛЫ(B3);A3-3)&"...";СЖПРОБЕЛЫ(B3))
где A3 - строка. которую нужно обрезать, B3 - кол-во знаков.
Формула возвращает строку длинна которой не превышает B3 с учётом трёх точек. (использую именно три точки т.к. знак "многоточие" мне применять нельзя)

Как сделать чтобы у меня была своя встроенная функция которая бы делала тоже самое
примерно так ЛЕВСИМВМНОГОТОЧ(строка;кол-во знаков)
 
Ответить
СообщениеЗдравствуйте,

Помогите пожалуйста создать встроенную функцию, которая будет обрезать заданную строку, до заданного кол-ва знаков, но будет добавлять многоточие(три знака) и считать длинну с учётом "..."

Я написал такую формулу =ЕСЛИ(ДЛСТР(СЖПРОБЕЛЫ(B3))>A3;ЛЕВСИМВ(СЖПРОБЕЛЫ(B3);A3-3)&"...";СЖПРОБЕЛЫ(B3))
где A3 - строка. которую нужно обрезать, B3 - кол-во знаков.
Формула возвращает строку длинна которой не превышает B3 с учётом трёх точек. (использую именно три точки т.к. знак "многоточие" мне применять нельзя)

Как сделать чтобы у меня была своя встроенная функция которая бы делала тоже самое
примерно так ЛЕВСИМВМНОГОТОЧ(строка;кол-во знаков)

Автор - Michaelw
Дата добавления - 05.08.2014 в 19:58
_Boroda_ Дата: Вторник, 05.08.2014, 20:31 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Да прямо так и написать:
[vba]
Код
Function ЛЕВСИМВМНОГОТОЧ(a, b)
      ЛЕВСИМВМНОГОТОЧ = IIf(Len(WorksheetFunction.Trim(a)) > b, Left(WorksheetFunction.Trim(a), b - 3) & "...", WorksheetFunction.Trim(a))
End Function
[/vba]
Правда, я местами поменял. Как-то логичнее (по-моему, нисколько не настаиваю) сначала писать ЧтоРежем, а потом НаСколькоРежем.
К сообщению приложен файл: 8787456.xlsm (13.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДа прямо так и написать:
[vba]
Код
Function ЛЕВСИМВМНОГОТОЧ(a, b)
      ЛЕВСИМВМНОГОТОЧ = IIf(Len(WorksheetFunction.Trim(a)) > b, Left(WorksheetFunction.Trim(a), b - 3) & "...", WorksheetFunction.Trim(a))
End Function
[/vba]
Правда, я местами поменял. Как-то логичнее (по-моему, нисколько не настаиваю) сначала писать ЧтоРежем, а потом НаСколькоРежем.

Автор - _Boroda_
Дата добавления - 05.08.2014 в 20:31
Michaelw Дата: Вторник, 05.08.2014, 20:47 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003
_Boroda_, Отлично! Спасибо! То что нужно.
 
Ответить
Сообщение_Boroda_, Отлично! Спасибо! То что нужно.

Автор - Michaelw
Дата добавления - 05.08.2014 в 20:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание встроенной функции которая обрежет строку и + "..." (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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