Чат kullun

kullun (off) Хозяин
21 июля 2018, 19:30

Возвращение n-го элемента из строки

Function ExtractElement(Txt, n, Separator) As String
' Возвращает n-й элемент текстовой строки, где
' элементы разделены указанным символом
Dim AllElements As Variant
AllElements = Split(Txt, Separator)
ExtractElement = AllElements(n - 1)
End Function

>tx t — текстовая строка, из которой извлекается подстрока (это может быть сим-
вольная строка или ссылка на ячейку);
> п — целое число, представляющее номер извлекаемого элемента;
> Separator — отдельный символ, используемый как разделитель.

В этой процедуре используется VBA-функция S plit, возвращающая массив констант,
из которого состоит текстовая строка. Массив начинается с нулевого элемента (а не с пер-
вого), поэтому текущий элемент имеет индекс п-1.
-----
kullun (off) Хозяин
21 июля 2018, 19:27

=ISLLIKE("guitar","g*")
=ISLIKE("UnitIм,"Unit?")

=ISLIKE("a","[aeiou]")

=ISLIKE(ПРОПИСН(А1), ПРОПИСН("[aeiou]"))

=ISLIKE(A1,"1##")
-----
kullun (off) Хозяин
21 июля 2018, 19:24

Соответствует ли строка шаблону

Функция ISLIKE довольно проста (и очень полезна). Она возвращает значение ИС-
ТИНА, если строка соответствует заданному шаблону.

Function IsLike(text As String, pattern As String) As Boolean
' Возвращает ИСТИНА, если первый оператор подобен второму
IsLike = text Like pattern
End Function

> tex t — текстовая строка или ссылка на ячейку, содержащую текстовую строку;
> p attern — строка, содержащая групповые символы согласно следующему списку.
Символ в шаблоне Соответствие в тексте
?
Любой отдельный символ

Нуль и более символов
#
Любая отдельная цифра (0-9)
[список символов]
Любой отдельный символ из перечня список_символов
[!список символов]
Любой отдельный символ, не принадлежащий перечню
список символов
-----
kullun (off) Хозяин
21 июля 2018, 19:22

Идентификация последней непустой ячейки в столбце или в строке

В этом разделе будут рассмотрены две полезные функции: LASTINCOLUMN, которая
возвращает содержимое последней непустой ячейки в столбце, и LASTINROW, которая воз-
вращает содержимое последней непустой ячейки в строке. В качестве единственного аргу-
мента эти функции используют диапазон.


Function LASTINCOLUMN(rng As Range)
' Возвращает содержимое последней непустой ячейки столбца
Dim LastCell As Range
Application.Volatile
With rng.Parent
With .Cells(.Rows.Count, rng.Column)
If Not IsEmpty(.Value) Then
LASTINCOLUMN = .Value
Elself IsEmpty(.End(xlUp)) Then
LASTINCOLUMN = ""
Else
LASTINCOLUMN = .End(xlUp).Value
End If
End With
End With
End Function

-Оператор A pplication .V o la tile вызывает выполнение функции всякий раз,
когда пересчитываются формулы на рабочем листе.

-Оператор Rows. Count возвращает количество строк на рабочем листе.
Используется именно он, а не жестко заданное значение, из соображений совме-
стимости (это связано с тем, что более новые версии Excel могут включать большее
количество строк на рабочем листе).

-Ссылка rng.Column возвращает номер столбца левой верхней ячейки в аргументе rng.

-Благодаря ссылке rng. Parent функция работает корректно, даже если аргумент
rng ссылается на другой лист или рабочую книгу.

-Метод End (с аргументом xlUp) эквивалентен переходу к последней ячейке столбца
и нажатию <End> и <> .

-Функция Is Empty проверяет, пуста ли ячейка. Если ячейка пуста, функция воз-
вращает пустую строку. Без этого оператора пустой ячейке соответствовал бы ре-
зультат 0.

Function LASTINROW(rng As Range)
' Возвращает содержимое последней непустой ячейки в строке
Application.Volatile
With rng.Parent
With .Cells(rng.Row, .Columns.Count)
If Not IsEmpty(.Value) Then
LASTINROW = .Value
Elself IsEmpty(.End(xlToLeft)) Then
LASTINROW = ""
Else
LASTINROW = .End(xlToLeft).Value
End If
End With
End With
End Function
-----
kullun (off) Хозяин
21 июля 2018, 18:34

Применяйте эту функцию VBA, чтобы не вводить следующую длинную формулу:
=СЧЕТЕСЛИ(А1:А100,">=10")-СЧЕТЕСЛИ(А1:А100,”>20")
-----
kullun (off) Хозяин
21 июля 2018, 18:33

Подсчет количества ячеек между двумя значениями

Функция COUNTBETWEEN возвращает количество значений в диапазоне (первый аргу-
мент), которые попадают в область, заданную вторым и третьим аргументами.

Function COUNTBETWEEN(InRange, numl, num2) As Long
' Подсчитывает количество значений между numl и num2
With Application.WorksheetFunction
If numl <= num2 Then
COUNTBETWEEN = .CountIf(InRange, ">=" & numl) -
.Countlf(InRange, ">" & num2)
Else
COUNTBETWEEN = .CountIf(InRange, ">=" & num2) -
.Countlf(InRange, ">" & numl)
End If
End With
End Function

Обратите внимание на то, что эта функция вызывает функцию Excel СЧЕТЕСЛИ
(COUNTIF). По сути функция COUNTBETWEEN является “оболочкой”, которая может упро-
стить формулы.
СЧЕТЕСЛИ появилась в Excel 2007. [/i]
-----
kullun (off) Хозяин
21 июля 2018, 18:28

функция VBA SheetName. Данная функция принимает один аргумент (диапазон)
и возвращает имя рабочего листа, который содержит указанный диапазон. При этом
используется свойство Parent объекта Range. Свойство Parent возвращает объект,
а именно — объект, содержащий объект Range.

Function SheetName(ref) As String
SheetName = ref.Parent.Name
End Function


Function WORKBOOKName(ref) As String
WORKBOOKNAME = ref.Parent.Parent.Name
End Function


Функция APPNAME, показанная ниже, еще больше расширяет иерархическую це-
почку, обращаясь к свойству Parent трижды. Такая функция возвращает имя объекта
A pplication для заданной ячейки. Указанная функция всегда будет возвращать значе-
ние M icrosoft Excel.


Function APPNAME(ref) As String
APPNAME = ref.Parent.Parent.Parent.Name
End Function
-----
kullun (off) Хозяин
21 июля 2018, 18:23

Основы иерархии объектов

Объект Application
Объект Workbook
Объект Worksheet
Объект Range
-----
kullun (off) Хозяин
21 июля 2018, 18:17

метод Application.Caller, возвращает объект Range. Этот объект
указывает на ячейку, из которой вызывается функция. Оператор Parent. Parent воз-
вращает рабочую книгу (родитель родителя объекта Range — объект Workbook).

Function LastSaved2()
Application.Volatile
LastSaved2 = Application.Caller.Parent.Parent. _
BuiltinDocumentProperties("Время последнего сохранения")
End Function
-----
kullun (off) Хозяин
21 июля 2018, 18:14

Application.Volatile true - Перерасчет книги


Встроенные Свойта Документра - BuiltinDocumentProperties("Дата последнего вывода на печать")
-----


стр. Пред. 1,2,3,4,5 ... 12,13,14 След.

На главную

0.034 сек
SQL: 3