как на vba прописать подобного рода процедуру: =если(и(а>1;b>1;c>1;и(d<1;d>5);или(e<1;e=1));'f';если(........)) f = "текст"
с учетом того, чтобы результат ('f' или последующие 'g', 'h') выгружали текст в ворд..
(п.с.говоря человеческим языком - имеются условия, с входящими "и" а также "или", которые в случае соблюдения заданых параметров, приводили бы к выводу в ворд определенного шаблонного текста (которому например, соответствует определенная буква, в противном случае искали бы другую "букву", для отображения в ворде другого шаблонного текста; маленький нюанс - в выгружаемый "шаблонный" текст должны быть автоматом добавлены определенного рода ссылки на имеющиеся на листе цифровые значения ячеек)
vba только начинаю разбирать, поэтому низкий поклон и заранее благодарна вашему содействию и вниманию!
1. хотелось бы понять логику функций если/и/или в vba - то бишь, как в данном случае прописываются эквивалентные обычным формулам конструкции - простым языком говоря... 2. как сделать так, чтобы верный аргумент функции "если" выводил в ворд текст, в который бы автоматом вставлялись кроме заданного шаблонного текста, несколько значений ячеек из листов экселя.
1. на первый вопрос частично получила ответ, логика описывается следующим выражением if range(''x'')>1 and range(''x'')<2 then a = 1 elseif range(''x'')<1 and range(''x'')>0.5 then a = 2 end ..
открытый вопрос - как в вба использовать более одного условия с "и"? как быть с "или"? как быть с шаблонами и вордом?
Можно в одной строке (как у Вас) перечислять несколько "И", но быстрее будет отсекать ненужные проверки: if range(''x'')>1 then if range(''y'')<2 then if range("z") = 0 then Чего-то делаем, если все три условия совпали, а, если, например, не выполняется уже первое условие, то остальные просто не проверяются.
По поводу "ИЛИ" вопрос не понял Проверяем аналогично: if range(''x'')>1 or range(''y'')<2 then
[QUOTE]Юрий М пишет: Можно в одной строке (как у Вас) перечислять несколько "И", но быстрее будет отсекать ненужные проверки: if range(''x'')>1 then if range(''y'')<2 then if range("z") = 0 then Чего-то делаем, если все три условия совпали, а, если, например, не выполняется уже первое условие, то остальные просто не проверяются.
дело в том что я описывала многофакторное условие, вроде f = если(2>x>3 и(4>y>3 или 5>z>3)), то e, иначе ... (продолжение)