Как обычно, на первом этапе в окне Мастер функций нужно выделить данную функцию и нажать кнопку ОК. На втором этапе следует указать диапазон ячеек, содержимое которых необходимо объединить, и вновь нажать ОК – результат отобразится в ячейке, в которой установлен курсор.

Функция Couple выгодно отличается от стандартной функции СЦЕПИТЬ тем, что легко можно указать произвольный диапазон, а также тем, что объединенные данные разделяются пробелом.

<p>Объединение данных с учетом форматов</p>

Функция CoupleFormat работает аналогично функции Couple с той разницей, что она объединяет данные указанного диапазона с соблюдением форматов. Код функции представлен в листинге 2.44.

Листинг 2.44. Функция CoupleFormat

Function CoupleFormat(Diapazon)

' Объединение текстовых данных, содержащихся в ячейках _

диапазона Diapazon (разделитель между значениями – пробел)

' iCell – текущая ячейка

For Each iCell In Diapazon

' Сцепляются данные только заполненных ячеек

If IsEmpty(iCell) <> True Then

' Добавление текста ячейки в выходную строку

If CoupleFormat = "" Then

CoupleFormat = iCell.Text

Else

CoupleFormat = CoupleFormat & " " & iCell.Text

End If

End If

Next

End Function

После выбора функции следует указать требуемый диапазон данных и нажать кнопку ОК – результат отобразится в ячейке, в которой установлен курсор.

<p>Эксперименты с датой</p>

В процессе работы с программой иногда возникает необходимость изменить представление даты. Оперативно решить эту задачу поможет функция ДатаПолная. Например, если дата отображается в виде 04.08.2005, то данная функция преобразует ее в вид 0 4 Августа 2 005. Код функции приведен в листинге 2.45.

Листинг 2.45. Функция ДатаПолная

Function ДатаПолная(Ячейка)

' Получение данных в заданной ячейке в формате _

«dd mmmm yyyy»

Дата = Format(Ячейка, «dd mmmm yyyy»)

If IsDate(Ячейка) = True Or IsDate(Дата) = True Then

' Возврат строки с полной датой

ДатаПолная = StrConv(Дата, vbProperCase)

Else

' Данные в ячейке не являются датой

ДатаПолная = «<>»

End If

End Function

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

Несомненным достоинством данной функции является то, что она может преобразовать представление даты даже в тех ячейках, в которых установлен формат, отличный от Дата (Числовой, Текстовый и др.). Например, если в ячейке с форматом Общий содержится число 37808, то в результате применения функции ДатаПолная оно будет преобразовано в дату 06 Июля 2003.

<p>Выбор из текста всех чисел</p>

Достаточно интересное решение реализовано в функции ExtractNumeric. С ее помощью из любого текста можно извлечь все числовые значения. Например, если ячейка содержит текст 2 5 сентября 2 004 года, результат применения данной функции будет таким: 252004. Код функции выглядит следующим образом (листинг 2.46).

Листинг 2.46. Функция ExtractNumeric

Function ExtractNumeric(iCell)

' Анализируется каждый символ входной строки iCell

For iCount = 1 To Len(iCell)

' Проверка, является ли анализируемый символ числом

If IsNumeric(Mid(iCell, iCount, 1)) = True Then

' Число добавляется в выходную строку

ExtractNumeric = ExtractNumeric & Mid(iCell, iCount, 1)

End If

Next

End Function

После выбора функции следует указать ячейку, из которой необходимо извлечь числовые значения. Результат отобразится в активной ячейке. Очевидно, что применение данной функции имеет смысл только в том случае, когда текст включает в себя и числовые, и иные символы.

<p>Прописная буква только в начале текста</p>
Перейти на страницу:

Похожие книги