Очень прошу помощи. Я в VBA новичок и не совсем понимаю, почему не работает программа. Есть задача: в столбике D есть выделенные желтым ячейки. Программа должна находить эти ячейки и сравнивать на совпадение с остальными ячейками в этом столбике. Значение совпадения в процентах должно оказаться в столбике М, напротив сравниваемых ячейках. Нашла код, который вроде бы подходит (и он даже работал как надо...пару строк), но программа вылетает и выделяет строку
[vba]
Код
If t2 Like Shablon Then
[/vba]
в функции Shodstvo.
Прошу помочь переиначить код, так чтобы он работал без косяков. Или предложите свой вариант, если считаете что он будет оптимальнее(у меня это уже 3-й вариант и я откровенно иссякла на идеи).
Очень прошу помощи. Я в VBA новичок и не совсем понимаю, почему не работает программа. Есть задача: в столбике D есть выделенные желтым ячейки. Программа должна находить эти ячейки и сравнивать на совпадение с остальными ячейками в этом столбике. Значение совпадения в процентах должно оказаться в столбике М, напротив сравниваемых ячейках. Нашла код, который вроде бы подходит (и он даже работал как надо...пару строк), но программа вылетает и выделяет строку
[vba]
Код
If t2 Like Shablon Then
[/vba]
в функции Shodstvo.
Прошу помочь переиначить код, так чтобы он работал без косяков. Или предложите свой вариант, если считаете что он будет оптимальнее(у меня это уже 3-й вариант и я откровенно иссякла на идеи).makroshka
Из справки Like Note To match the special characters left bracket ([), question mark (?), number sign (#), and asterisk (*), enclose them in brackets. The right bracket (]) can't be used within a group to match itself, but it can be used outside a group as an individual character. Малой кровью можно выкрутиться так [vba]
Код
Nach = Mid$(t1, i, j) If InStr(Nach, "[") Then Nach = Replace$(Nach, "[", "[[]") ' и, на всякий случай, прописать аналогично для других спецсимволов Shablon = Sha1 & Nach & "*"
[/vba]
Из справки Like Note To match the special characters left bracket ([), question mark (?), number sign (#), and asterisk (*), enclose them in brackets. The right bracket (]) can't be used within a group to match itself, but it can be used outside a group as an individual character. Малой кровью можно выкрутиться так [vba]
Код
Nach = Mid$(t1, i, j) If InStr(Nach, "[") Then Nach = Replace$(Nach, "[", "[[]") ' и, на всякий случай, прописать аналогично для других спецсимволов Shablon = Sha1 & Nach & "*"
Так, с символами поняла, буду отрабатывать. Пока попробовала в таком виде вставить в код. Программа зависла и я понять не могу - она так считает или пора перезагружать программу. Висит уже 30 минут...
Так, с символами поняла, буду отрабатывать. Пока попробовала в таком виде вставить в код. Программа зависла и я понять не могу - она так считает или пора перезагружать программу. Висит уже 30 минут...makroshka