Макрос, який поєднує в осередках excel текст за умовами

Нам необхідно вибрати і записати в один рядок всі назви продукції, що відносяться до певного постачальника, з'єднати їх.

Макрос, який поєднує в осередках excel текст за умовами

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

Щоб додати макрос, слід виконати наступні дії:

Код макросу 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 за допомогою макросу. її можна використовувати для обробки тексту в такий спосіб:

Навігація по публікаціям

Схожі статті