Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org
27 Июнь 2022, 05:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Новости
:
Доступно и просто
о работе в офисных пакетах
Начало
Помощь
Поиск
Войти
Регистрация
задать вопрос
Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org
>
Главная категория
>
Basic
> Тема:
Упрощение записи сравнения нескольких значений
Страниц:
1
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Упрощение записи сравнения нескольких значений (Прочитано 1231 раз)
0 Пользователей и 1 Гость смотрят эту тему.
p.cherevin
Участник
Offline
Сообщений: 17
Упрощение записи сравнения нескольких значений
«
Стартовое сообщение
:
12 Август 2021, 13:43 »
Здравствуйте.
Давно уже не использовал VBA, позабывал самое элементарное. Подскажите, пожалуйста, можно ли упростить запись такой конструкции?
Цитата:
if (test="b" or test="c" or test="d") then
Что-нибудь типа
Цитата:
if test=("b" or "c" or "d") then
P/S/ Может создать закреплённую тему с «тупыми» вопросами, чтобы не плодить лишние темы?
Записан
eeigor
Опытный пользователь
Online
Пол:
Сообщений: 1 098
Re: Упрощение записи сравнения нескольких значений
«
Ответ #1
:
12 Август 2021, 14:03 »
Dim test$: test = "a"
Select Case test
Case "b", "c", "d"
MsgBox "YES"
Case Else
MsgBox "NO"
End Select
Dim pattern$: pattern = "[b-d]" '[bcd]
If test Like pattern Then
MsgBox "YES"
Else
MsgBox "NO"
End If
Select Case True
Case test Like pattern
MsgBox "YES"
Case Else
MsgBox "NO"
End Select
Dim text$: text = "b"
MsgBox IIf(StrComp(text, test, 0) = 0, "YES", "NO") 'case insensitive
Rem Ну, и также через FunctionAccess и функции рабочего листа в зависимости от сложности сравнений.
A2: ="a"
B2: =IF(COUNTIF({"b";"c";"d"};A2)>0;"YES";"NO")
«
Последнее редактирование: 12 Август 2021, 14:49 от eeigor
»
Записан
Ubuntu 18.04 LTS • LibreOffice 7.3.2.2 Community
mikekaganski
Гуру
Offline
Пол:
Расположение: Хабаровск -> Москва
Сообщений: 2 768
Re: Упрощение записи сравнения нескольких значений
«
Ответ #2
:
12 Август 2021, 14:25 »
Цитата: p.cherevin от 12 Август 2021, 13:43
P/S/ Может создать закреплённую тему с «тупыми» вопросами, чтобы не плодить лишние темы?
Не нужно. В чём вред "лишних" тем, которые могут быть найдены при поиске релевантного ключевого слова и могут помочь (в отличие от "помоечной" темы, которая уже никому никогда не пригодится)?
Записан
С уважением
,
Михаил Каганский
p.cherevin
Участник
Offline
Сообщений: 17
Re: Упрощение записи сравнения нескольких значений
«
Ответ #3
:
12 Август 2021, 14:56 »
Спасибо большое eeigor!
Цитата: mikekaganski от 12 Август 2021, 14:25
Не нужно. В чём вред "лишних" тем, которые могут быть найдены при поиске релевантного ключевого слова и могут помочь (в отличие от "помоечной" темы, которая уже никому никогда не пригодится)?
Не знаю в чём вред, может быть БД сильно увеличивается, но на многих форумах ругают за создание "лишних" тем.
Записан
eeigor
Опытный пользователь
Online
Пол:
Сообщений: 1 098
Re: Упрощение записи сравнения нескольких значений
«
Ответ #4
:
12 Август 2021, 15:08 »
Я вспомнил для себя некоторый синтаксис… но точный ответ на ваш вопрос такой:
If test Like "[b-d]" Then
Оператор Like не документирован, но работает как в VBA.
«
Последнее редактирование: 12 Август 2021, 15:10 от eeigor
»
Записан
Ubuntu 18.04 LTS • LibreOffice 7.3.2.2 Community
p.cherevin
Участник
Offline
Сообщений: 17
Re: Упрощение записи сравнения нескольких значений
«
Ответ #5
:
12 Август 2021, 15:33 »
Спасибо.
Записан
Страниц:
1
Вверх
Печать
Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org
>
Главная категория
>
Basic
> Тема:
Упрощение записи сравнения нескольких значений
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Новости и события
-----------------------------
=> Новости
-----------------------------
Главная категория
-----------------------------
=> Общее
===> Установка и настройка
=> Writer
=> Calc
=> Base
=> Impress
=> Draw
=> Math
=> Basic
=> Локализация
=> Дополнения и расширения
=> Документация
-----------------------------
Проекты
-----------------------------
=> MyOOo.ru
===> Обсуждение статей
-----------------------------
О форуме и жизни
-----------------------------
=> Разговоры обо всём
=> IT
=> О форуме
Загружается...