Текст в ячейке задом наперёд
Добрый день, уважаемые читатели блога! Продолжаем серию уроков по Microsoft Excel и сегодня мы отойдём от привычного создания макросов, рассмотрения приёмов, различных тонкостей.
Поговорим о пользовательских функциях, то есть о функциях, которые может создавать сам пользователь, оперируя переменными Excel.
Перед нами стоит задача - отобразить текст в ячейке (произвольный) в обратном порядке. Пример: "Привет!", - в соседней ячейке появится: "!тевирП".
В таком случае можно использовать макрос, но количество действий, его (макроса) постоянный вызов не улучшат, а затруднят работу с таблицей.
Воспользуемся возможностью создания своих функций. Благо для этого нам подойдёт алгоритм создания макроса.
Добавляем новый модуль в наш документ:
- Вкладка "Разработчик", блок кнопок "Код", кнопка "Visual Basic";
- Далее "Insert" - > "Module".
Добавим следующий текст в наш модуль:
Function dhReverseText(strText As String) As String
Dim i As Integer
For i = Len(strText) To 1 Step -1
dhReverseText = dhReverseText & Mid(strText, i, 1)
Next i
End Function
Разберём где у нас что:
- "Function dhReverseText(strText As String) As String" - название функции и объявление её типом строка;
- "Dim i As Integer" - объявление переменной i;
- "For i = Len(strText) To 1 Step -1" - для каждой переменной i типа строка устанавливаем обратный порядок расположения символов (Len - возвращает количество символов в ячейке);
- "dhReverseText = dhReverseText & Mid(strText, i, 1)" - указываем функции, что двигаться нужно от конца к началу;
- "Next i" - обработка следующего символа.
Прелестью такого подхода является работа с функцией, мы можем вводить её как простую формулу.
Результат будет такой.
Мы создали первую собственную функцию!
Вам также может понравиться статья - Вставка гиперссылок на листы таблицы.