.
Секреты Excel. Урок 4. Как написать свою функцию.
Автор megabax   
02.08.2012 г.
New Page 1

Секреты Excel. Урок 4. Как написать свою функцию.

Сегодня мы попробуем немножко попрограммировать. Помните на прошлом уроке мы разбивали один столбец на несколько? Какой недостаток такого разбиения? Такой, что это разбиение статическое. Один раз сделали и все. А если мы отредактировали исходные? Результат у нас не поменяется. Так что такой метод целесообразно использовать только при одноразовом преобразование. Если же нам надо сделать динамическое разбиение по столбцам, то можно написать свою функцию.  Сделать это довольно просто. И так, входим в меню "Сервис" -> "Макрос" -> "Редактор Visual Basic". Если у вас нет этого меню, то можно добавить иконочку с соответствующей командой. Для этого щелкнем по выпадающему меню рядом с панелью инструментов:

Секреты Excel. Урок 4. Как написать свою функцию.

Нужно выбрать пункт меню "Другие команды":

Секреты Excel. Урок 4. Как написать свою функцию.

У нас откроется окно настроек параметров Excel:

Секреты Excel. Урок 4. Как написать свою функцию.

Нам нужно выбрать вкладку "Разработчик":

Секреты Excel. Урок 4. Как написать свою функцию.

На ней мы сможем настроить нужные иконки для панели инструментов, просто добавьте их на панель кнопочкой "Добавить":

Секреты Excel. Урок 4. Как написать свою функцию.

Все, теперь иконка появилась у нас на панели инструментов:

Секреты Excel. Урок 4. Как написать свою функцию.

 Мы можем щелкнуть по ней, что бы запустить редактор Visual Basic:

Секреты Excel. Урок 4. Как написать свою функцию.

Если у вас не появилось поле ввода программы, создайте новый модуль (меню "Insert" -> "Module"):

Секреты Excel. Урок 4. Как написать свою функцию.

Теперь можно просто взять и ввести функцию, например, для того, что бы разбить столбец на несколько нужно ввести вот такой текст программы:

Function РазделитьСтроку(Txt, Delimiter, n) As String

   Dim x As Variant

    x = Split(Txt, Delimiter)

    If n > 0 And n - 1 <= UBound(x) Then

      РазделитьСтроку = x(n - 1)

    Else

      РазделитьСтроку = ""

    End If

End Function

 

И все! Сохраняем программу, нажав на "Сохранить":

Секреты Excel. Урок 4. Как написать свою функцию.

 

И мы можем юзать функцию:

Секреты Excel. Урок 4. Как написать свою функцию.

 

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

Самое главное в приведенном программном коде функция Split, она разбивает строку с разделителями и возвращает массив, состоящий из полученных при разбиении элементов. Функция UBound определяет границу массива (номер последнего элемента).

 


Скриншоты, опубликованные в данной статье, являются цитатами и иллюстрациями   программного продукта "Microsoft Excel", авторское право на который принадлежит Microsoft 


Последнее обновление ( 07.03.2013 г. )