Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2016, 19:50   #1
lybashevv
Новичок
Джуниор
 
Регистрация: 05.12.2016
Сообщений: 1
По умолчанию Доделать макрос поиска слов в фразах

Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте помогите пожалуйста доделать макрос.
У меня есть макрос, который делает то что мне нужно, но не до конца.

Основной смысл, для чего мне макрос:
- есть 1 колонка со словами
- есть 2 колонка с фразами
- нужно найти фразы из 2 колонки в которых есть слова из 1 колонки
- и расположить фразы в которых содержится слово, напротив этого слова, таким образом как показано в примере

То что нужно доделать:
- слово и фраза, в которой оно найдено, были напротив друг друга,
- а напротив остальных фраз, в которых найдено слово(если фраза не одна), в 1 колонке была бы пустая ячейка
- и напротив слова из 1 столбца, которое не содержится ни в одной фразе из 2, была пустая ячейка в колонке 2

Код макроса:
Код:
Sub FindWords()
Dim fl As Boolean
Dim arrTemp2()
Dim arrTemp1()
    arrW = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row).Value
    arrPh = Range("D2 <img rel="usm" src="/sml2/biggrin.gif" border="0" align="absmiddle" alt=" <img rel="usm" src="/sml2/biggrin.gif" border="0" align="absmiddle" alt=":D" /> " /> " & Cells(Rows.Count, "D").End(xlUp).Row).Value
    For I = 1 To UBound(arrPh)
        fl = False
        For J = 1 To UBound(arrW)
            If arrPh(I, 1) Like "*" & arrW(J, 1) & "*" Then
                ReDim Preserve arrTemp1(I)
                arrTemp1(I) = arrPh(I, 1)
                fl = True
                Exit For
            End If
        Next
        If Not fl Then
            N = N + 1
            ReDim Preserve arrTemp2(N)
            arrTemp2(N) = arrPh(I, 1)
        End If
    Next
    Columns("D").ClearContents
    Range("D1").Resize(UBound(arrTemp1) + 1) = Application.Transpose(arrTemp1)
    Columns("F").ClearContents
    Range("F1").Resize(UBound(arrTemp2) + 1) = Application.Transpose(arrTemp2)
End Sub
Вложения
Тип файла: xls Макрос кот исправить.xls (35.5 Кб, 12 просмотров)
lybashevv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доделать плагин поиска недвижимости lifeforever Фриланс 0 03.11.2015 20:12
Макрос для поиска и выделения слов Angry_Kitty Microsoft Office Word 11 07.10.2014 22:01
Помогите доделать макрос Djo_Oker Microsoft Office Excel 20 12.11.2013 13:36
макрос для поиска позиций и вывода данных на лист поиска mr-111 Microsoft Office Excel 12 13.03.2012 15:03
Макрос для поиска и замены слов на слова с верхним подчеркиванием salvafion Microsoft Office Word 4 07.09.2009 19:14