Добрый день. Столкнулся с такой ситуацией и не могу никак реализовать следующее в vba (макрос): Даны 3 столбца, но в них специально допущены ошибки. Что пытался реализовать: допустим мы имеем если в правиле стоит 1 в номере Z32.1, а в соке - пер - это правильно, Но есть строка следующая где сок это - Аст. Это вообще не правильно.
То есть хотелось бы реализовать: что если есль условие первого столбаца, оно должно вязаться с условием второго столбца, а суловие тах двух столбцов должно вязаться с третьим Пытался найти похожее в инете, но кроме: Несколько наборов условий, несколько столбцов в каждом наборе Логическое выражение: ((Продавец = "Егоров" И Продажи >3000) ИЛИ(Продавец = "Орехов" И Продажи > 1500)) я более не нашел
Условия следующие верны: 1) если правило = 1, то номер Z32.1 и сок: Влад и Пер 2) если правило = 1.5.1, то номер перечисляется с N97.0 заканчивая N97.9 и сок:Влад и Пер 3) если правило = 1.5.2, то номер N46 и сок: Адил и Мих 4) если правило - 3.1, то номер перечисляется с N97.0 заканчивая N97.9 еще номер N46 и сок:но только если с N97.0 заканчивая N97.9- то Влад и Пер, а если N46, то сок: Адил и Мих.
Другое не удовлетворяет условиям ошибка и допустим что удовлетворило условию прячется в фильтре, а то что ошибка видим. Exel 2007
Добрый день. Столкнулся с такой ситуацией и не могу никак реализовать следующее в vba (макрос): Даны 3 столбца, но в них специально допущены ошибки. Что пытался реализовать: допустим мы имеем если в правиле стоит 1 в номере Z32.1, а в соке - пер - это правильно, Но есть строка следующая где сок это - Аст. Это вообще не правильно.
То есть хотелось бы реализовать: что если есль условие первого столбаца, оно должно вязаться с условием второго столбца, а суловие тах двух столбцов должно вязаться с третьим Пытался найти похожее в инете, но кроме: Несколько наборов условий, несколько столбцов в каждом наборе Логическое выражение: ((Продавец = "Егоров" И Продажи >3000) ИЛИ(Продавец = "Орехов" И Продажи > 1500)) я более не нашел
Условия следующие верны: 1) если правило = 1, то номер Z32.1 и сок: Влад и Пер 2) если правило = 1.5.1, то номер перечисляется с N97.0 заканчивая N97.9 и сок:Влад и Пер 3) если правило = 1.5.2, то номер N46 и сок: Адил и Мих 4) если правило - 3.1, то номер перечисляется с N97.0 заканчивая N97.9 еще номер N46 и сок:но только если с N97.0 заканчивая N97.9- то Влад и Пер, а если N46, то сок: Адил и Мих.
Другое не удовлетворяет условиям ошибка и допустим что удовлетворило условию прячется в фильтре, а то что ошибка видим. Exel 2007ShadowGamer
lr = Cells(Rows.Count, "A").End(xlUp).Row arrSrc() = Range("A2:D" & lr).Value ReDim arrRes(1 To UBound(arrSrc), 1 To 1)
For i = 1 To UBound(arrSrc) Select Case arrSrc(i, 3) Case 1 If arrSrc(i, 2) <> "Z32.1" Or _ (arrSrc(i, 4) <> "Влад" And _ arrSrc(i, 4) <> "Пер") Then arrRes(i, 1) = "ошибка" End If Case "1.5.1" If Left(arrSrc(i, 2), 4) <> "N97." Or _ (arrSrc(i, 4) <> "Влад" And _ arrSrc(i, 4) <> "Пер") Then arrRes(i, 1) = "ошибка" End If Case "1.5.2" If arrSrc(i, 2) <> "N46" Or _ (arrSrc(i, 4) <> "Адил" And _ arrSrc(i, 4) <> "Мих") Then arrRes(i, 1) = "ошибка" End If Case "3.1" If Left(arrSrc(i, 2), 4) = "N97." And _ (arrSrc(i, 4) = "Влад" Or _ arrSrc(i, 4) = "Пер") Then ElseIf arrSrc(i, 2) = "N46" And _ (arrSrc(i, 4) = "Адил" Or _ arrSrc(i, 4) = "Мих") Then Else arrRes(i, 1) = "ошибка" End If End Select Next i
lr = Cells(Rows.Count, "A").End(xlUp).Row arrSrc() = Range("A2:D" & lr).Value ReDim arrRes(1 To UBound(arrSrc), 1 To 1)
For i = 1 To UBound(arrSrc) Select Case arrSrc(i, 3) Case 1 If arrSrc(i, 2) <> "Z32.1" Or _ (arrSrc(i, 4) <> "Влад" And _ arrSrc(i, 4) <> "Пер") Then arrRes(i, 1) = "ошибка" End If Case "1.5.1" If Left(arrSrc(i, 2), 4) <> "N97." Or _ (arrSrc(i, 4) <> "Влад" And _ arrSrc(i, 4) <> "Пер") Then arrRes(i, 1) = "ошибка" End If Case "1.5.2" If arrSrc(i, 2) <> "N46" Or _ (arrSrc(i, 4) <> "Адил" And _ arrSrc(i, 4) <> "Мих") Then arrRes(i, 1) = "ошибка" End If Case "3.1" If Left(arrSrc(i, 2), 4) = "N97." And _ (arrSrc(i, 4) = "Влад" Or _ arrSrc(i, 4) = "Пер") Then ElseIf arrSrc(i, 2) = "N46" And _ (arrSrc(i, 4) = "Адил" Or _ arrSrc(i, 4) = "Мих") Then Else arrRes(i, 1) = "ошибка" End If End Select Next i