Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/88: Рейтинг темы: голосов - 88, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 9

While c несколькими условиями

05.09.2017, 11:27. Показов 18371. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Подскажите, пожалуйста, мне нужно найти строку в которой ячейки в 2 определенных столбцах единовременно принимают некоторые значения.

Делаю что-то вроде

Visual Basic
1
2
3
Do While Cells(i, j).Value <> "value1" and Cells(i, k) <> "value2"
i = i - 1
Loop
Похоже, когда одно из условий принимает значение TRUE, магическое действие While прекращается.
Подскажите, пожалуйста, что я делаю не так?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2017, 11:27
Ответы с готовыми решениями:

Заполнение таблицы с несколькими условиями
Доброго времени суток! Пытаюсь решить задачку. Не специалист в вопросе VBA, но попробовал начать. Ситуация в следующем. Есть...

Выполнять цикл с несколькими условиями
Добрый день! Помогите пожалуйста решить задачу. Дана таблица. На листе Данные копируются данные На листе Бланк эти данные...

Как написать макрос с несколькими условиями?
Мне срочно нужно нааписать макрос со следущими условиями: 1. Привыборе в Экзеле ячейки значение в нем должно попасть в другой лист ...

8
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
05.09.2017, 11:48
New_be,

а что происходит с j and k ?
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
05.09.2017, 14:22
New_be, надо так
Visual Basic
1
Do While Cells(i, j).Value <> "value1" or Cells(i, k) <> "value2"
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
05.09.2017, 14:26
Почему бы не просто так:
Visual Basic
1
Do While Cells(i, j).Value & Cells(i, k).Value <> "value1value2"
0
193 / 191 / 31
Регистрация: 11.10.2016
Сообщений: 610
05.09.2017, 15:16
Visual Basic
1
2
3
While (Cells(i, j).Value <> "value1") And (Cells(i, k) <> "value2")
   i = i - 1
Wend
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
05.09.2017, 15:26
_shark, ваша логика такая же как у New_be, если оба не равны соответствующим значениям, то двигаемся дальше, а ему надо двигаться вверх до тех пор, пока ОБА будут равны нужным значениям. У вас обоих получается условие - если хотя бы одно значение равно соответствующему value,то выходим из цикла. Мое условный оператор соответствует пожеланиям автора/ проще понять м.б. так
Visual Basic
1
not (Cells(i, j).Value = "value1" and Cells(i, k) = "value2")
1
193 / 191 / 31
Регистрация: 11.10.2016
Сообщений: 610
05.09.2017, 17:36
Burk, в таком случае можно сделать цикл Do-Loop Until (Cells(i, j).Value = "value1") And (Cells(i, k) = "value2"), т.е. выход из цикла произойдет когда выполнятся оба условия. Внутри цикла - счетчик и проверка на ноль
0
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
06.09.2017, 10:14
_shark, можно всяко, лишь бы логика была правильна
0
0 / 0 / 0
Регистрация: 05.09.2017
Сообщений: 9
20.10.2017, 17:11  [ТС]
Спасибо большое, вариант с not заработал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2017, 17:11
Помогаю со студенческими работами здесь

Можно ли использовать CУММЕСЛИ() с несколькими условиями?
Подскажите, можно ли использовать функцию CУММЕСЛИ() с несколькими условиями ? В частности: На листе есть столбец значений и столбец...

Сумма ячеек в таблице с несколькими условиями (MS Excel2003)
Здравствуйте, ув. форумчане. По работе приходится подсчитывать количество пациентов, процедур и процедурных единиц за определённый период...

Перевод макроса на vba, с несколькими условиями по полям формы
2 недели потратил в нете, не могу вторую часть написать на vba Есть форма из таблицы, где хранятся должностные инструкции. Номер,...

do While с несколькими условиями
В пособии дан пример использования цикла: int a = 4; do { System.Console.WriteLine(a); a++; } while (a &lt; ...

Работа while с несколькими условиями
Доброго времени суток, У меня проблема, надо написать программу где в массив вписывается строка символов и необходимо найти есть ли в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru