Привет всем. недавно начал изучать VBA, нужна помощь, не понимаю, что не так с кодом. необходимо в таблице по двум условиям, расположенным по горизонтали и вертикали использовать их как условия для поиска значения на втором листе и вставлять в таблицу на 1 листе в соотвествующие ячейки. попробовал сам написать, почему то не переходит на следующие ячейки. кто может посмотрите, помогите советом, что не так. всем Пис
Привет всем. недавно начал изучать VBA, нужна помощь, не понимаю, что не так с кодом. необходимо в таблице по двум условиям, расположенным по горизонтали и вертикали использовать их как условия для поиска значения на втором листе и вставлять в таблицу на 1 листе в соотвествующие ячейки. попробовал сам написать, почему то не переходит на следующие ячейки. кто может посмотрите, помогите советом, что не так. всем Писleer
Private Sub CommandButton1_Click() a = Range("A1").CurrentRegion.Rows.Count b = Range("A1").CurrentRegion.Columns.Count i = Sheets("Лист2").Cells(Rows.Count, "a").End(xlUp).Row For Each c In Range(Cells(2, 2), Cells(a, b)) d = c.Row e = c.Column h = """" & Cells(d, 1).Value & "|" & Cells(1, e).Value & """" k = "&" & """|""" & "&" j = Evaluate("IFERROR(MATCH(" & h & ",Лист2!A1:A" & i & k & "Лист2!B1:B" & i & ",),"""")") If IsNumeric(j) Then c.Value = Sheets("Лист2").Range("c" & j).Value Else c.Value = "" End If Next End Sub
[/vba]
вариант с "вычислить" [vba]
Код
Private Sub CommandButton1_Click() a = Range("A1").CurrentRegion.Rows.Count b = Range("A1").CurrentRegion.Columns.Count i = Sheets("Лист2").Cells(Rows.Count, "a").End(xlUp).Row For Each c In Range(Cells(2, 2), Cells(a, b)) d = c.Row e = c.Column h = """" & Cells(d, 1).Value & "|" & Cells(1, e).Value & """" k = "&" & """|""" & "&" j = Evaluate("IFERROR(MATCH(" & h & ",Лист2!A1:A" & i & k & "Лист2!B1:B" & i & ",),"""")") If IsNumeric(j) Then c.Value = Sheets("Лист2").Range("c" & j).Value Else c.Value = "" End If Next End Sub