Здравсвуйте! Не нашел подобной темы и снова прошу помощи. Есть макрос , который по извлеченным из таблицы данным выводит результат.В примере понятней. Не имея теоритических знаний, ничего лучшего как вставить формулу в промежуточную ячейку (формула ВПР) и затем ее удалить у меня не получилось. Как в моем примере обойтись, если возможно, без промежуточной ячейки, используя именно макрос? Спасибо!
Здравсвуйте! Не нашел подобной темы и снова прошу помощи. Есть макрос , который по извлеченным из таблицы данным выводит результат.В примере понятней. Не имея теоритических знаний, ничего лучшего как вставить формулу в промежуточную ячейку (формула ВПР) и затем ее удалить у меня не получилось. Как в моем примере обойтись, если возможно, без промежуточной ячейки, используя именно макрос? Спасибо!pechkin
Sub Макрос1() Dim a As String Range("A5").ClearContents a = WorksheetFunction.VLookup(Range("A1"), Worksheets("Лист2").Range("A2:B4"), 2, 0) If a = "Коля" Then Range("A5") = "Правильно" Else Range("A5") = "Не верно" End If End Sub
[/vba]
Или использовать переменную: [vba]
Код
Sub Макрос1() Dim a As String Range("A5").ClearContents a = WorksheetFunction.VLookup(Range("A1"), Worksheets("Лист2").Range("A2:B4"), 2, 0) If a = "Коля" Then Range("A5") = "Правильно" Else Range("A5") = "Не верно" End If End Sub
Спасибо, ikki! Возможно, я не совсем точно объяснил задачу. Мне нужно создать условие что-то типа, если по критерию например (А1) в таблице значение удовлетворяет заданному (Коля) то... Формула ВПР подходит но мне нужно условие для макроса. Вот[vba]
Код
If ВПР($A$1;Лист2!$A$1:$B$4;2;0)=""Коля""Then //////
[/vba] Только так не работает
Спасибо, ikki! Возможно, я не совсем точно объяснил задачу. Мне нужно создать условие что-то типа, если по критерию например (А1) в таблице значение удовлетворяет заданному (Коля) то... Формула ВПР подходит но мне нужно условие для макроса. Вот[vba]
Код
If ВПР($A$1;Лист2!$A$1:$B$4;2;0)=""Коля""Then //////
Sub q() Set r = Sheets(2).Columns(1).Find(What:=Range("A1").Value, LookAt:=1) If Not r Is Nothing Then Range("D1") = IIf(r.Offset(, 1) = "Коля", "Правильно", "Не верно") End If End Sub
[/vba]
[vba]
Код
Sub q() Set r = Sheets(2).Columns(1).Find(What:=Range("A1").Value, LookAt:=1) If Not r Is Nothing Then Range("D1") = IIf(r.Offset(, 1) = "Коля", "Правильно", "Не верно") End If End Sub