Доброй ночи. Подскажите, можно ли облегчить вычисления в файле и не вычислять дважды и более раз ВПР. Например, есть данные о товаре, цене и единице измерения. При выборе товара в таблицу, необходимо, чтобы кроме цены, подставлялись данные об единице измерения без повторного поиска в списке товара.
Доброй ночи. Подскажите, можно ли облегчить вычисления в файле и не вычислять дважды и более раз ВПР. Например, есть данные о товаре, цене и единице измерения. При выборе товара в таблицу, необходимо, чтобы кроме цены, подставлялись данные об единице измерения без повторного поиска в списке товара.kadig
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("a11:a65536")) Is Nothing Then u = Application.Match(Target.Value, Range("a2:a6"), 0) v = Application.IsNumber(u) If v Then Target.Offset(0, 2) = Range("b" & u + 1).Value Target.Offset(0, 4) = Range("c" & u + 1).Value Else Target.Offset(0, 2).ClearContents Target.Offset(0, 2).ClearContents If Target.Value <> "" Then MsgBox "Товар в справочнике не найден." End If End If End Sub
[/vba]апдэйт промахнулся Target.Offset(0, 2).ClearContents Target.Offset(0, 2).ClearContents надо конечно Target.Offset(0, 2).ClearContents Target.Offset(0, 4).ClearContents
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("a11:a65536")) Is Nothing Then u = Application.Match(Target.Value, Range("a2:a6"), 0) v = Application.IsNumber(u) If v Then Target.Offset(0, 2) = Range("b" & u + 1).Value Target.Offset(0, 4) = Range("c" & u + 1).Value Else Target.Offset(0, 2).ClearContents Target.Offset(0, 2).ClearContents If Target.Value <> "" Then MsgBox "Товар в справочнике не найден." End If End If End Sub
[/vba]апдэйт промахнулся Target.Offset(0, 2).ClearContents Target.Offset(0, 2).ClearContents надо конечно Target.Offset(0, 2).ClearContents Target.Offset(0, 4).ClearContentsNic70y