Нам необхідно вибрати і записати в один рядок всі назви продукції, що відносяться до певного постачальника, з'єднати їх.
Для реалізації такої дії необхідно скористатися зчіпкою тексту за заданими умовами, такої функції немає, тому створимо спеціальний макрос який додає функцію умовної зчіпки значень.
Щоб додати макрос, слід виконати наступні дії:
Код макросу VBA:
Function Scepka (DiapazonScepki As Range, DiapazonPoiska As Range, Uslovie As String)
Dim Delitel As String, i As Long. OutText As String
'Призначаємо змінні для роботи макросаDiapazonScepki - це діапазон з текстом, який слід зчепити; DiapazonPoiska - це діапазон умов для порівняння; Uslovie - це та умова, яку ми шукаємо; Delitel - символ подільника.
Delitel = «,» 'вказуємо роздільник (символ, який буде розділяти зчеплений текст, можна поставити пробіл або порожнечу «» - тоді текст зіллється в одне слово)
If DiapazonPoiska.Count <> DiapazonScepki.Count Then
EndIf 'якщо діапазони з даними для перевірки і для зчіпки відрізняються по довжині - функція видає помилку і закривається
For i = 1 To DiapazonPoiska.Cells.Count
If DiapazonPoiska.Cells (i) Like Uslovie And Len (DiapazonScepki.Cells (i))> 0 Then OutText = OutText DiapazonScepki.Cells (i) Delitel
Nexti 'звіряємо осередки між собою і присвоюємо переменнойOutText підходять за умовами текстові значення. Для точного збігу операторLike слід замінити на знак «=».
Scepka = Left (OutText, Len (OutText) - Len (Delitel))
Тепер коли функція умовної зчіпки тексту додана в книгу Excel за допомогою макросу. її можна використовувати для обробки тексту в такий спосіб: