Наступне Функція, визначена користувачем UDF поверне перший екземпляр 16 послідовних цифр у рядку:
Public Function SweetSixteen(s As String) As String
Dim L As Long, i As Long, CH As String, j As Long
L = Len(s)
j = 0
SweetSixteen = ""
For i = 1 To L
CH = Mid(s, i, 1)
If CH Like "[0-9]" Then
SweetSixteen = SweetSixteen & CH
j = j + 1
If j = 16 Then Exit Function
Else
j = 0
SweetSixteen = ""
End If
Next i
End Function
Якщо існує більше одного дійсного підрядка, повертається лише перший. Якщо немає дійсного підрядка, буде повернуто Null. Якщо підрядок має більше 16 цифр, повертаються лише перші 16 цифр.
Ось деякі зразки:
Користувацькі функції (UDF) дуже прості в установці та використанні:
- ALT-F11 відкриває вікно VBE
- ALT-I
ALT-M відкриває новий модуль
- вставте матеріал і закрийте вікно VBE
Якщо ви збережете книгу, UDF буде збережено разом з нею.
Якщо ви використовуєте версію Excel пізніше 2003, ви повинні зберегти
файл .xlsm, а не .xlsx
Щоб видалити UDF:
- відкрийте вікно VBE, як показано вище
- очистіть код
- закрийте вікно VBE
Для використання UDF з Excel:
= Sweet Sixteen (A1)
Щоб дізнатися більше про макроси в цілому, див.
http://www.mvps.org/dmcritchie/excel/getstarted.htm
і
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
та специфіку щодо СФД, див.
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Для цього потрібно ввімкнути макроси!