Как правильно использовать оператор If в Visual Basic для Excel (VBA)?



If visual basic

Автор Максон Сухоруких задал вопрос в разделе Другие языки и технологии

Visual basic excel и получил лучший ответ

Ответ от Ev[гуру]
Для корректной работы условия If в Excel VBA важно соблюдать синтаксис блочной структуры. Если после выполнения условия требуется несколько действий или использование ElseIf, оператор Then должен завершать строку, а сами команды начинаться с новой строки. Завершается такой блок оператором End If. Также в коде присутствует ошибка типов данных. Переменные n, m, p, k объявлены как числовые Single, но им присваивается значение свойства Text, которое является строкой. Перед присваиванием строковое значение необходимо явно преобразовать в число с помощью функции CSng или Val. Правильный пример оформления выглядит так:
Dim n As Single, m As Single
n = CSng(TextBox1. Text)
m = CSng(TextBox2. Text)
If n > m Then
k = n + m
ElseIf n = m Then
k = n * m
End IfТакой подход исключит ошибки несоответствия типов и обеспечит верное выполнение всех условий.

Ответ от Александр Гергало[активный]
Так как Ексель творение мелкософта, то и без проблем с ним работать не получится.
В Вашем примере ошибка заключается в том, что после оператора ТНЕН у вас дальше написаны команды на выполнение, если условие истина. Но такую однострочную конструкцию можно применять только при одном условии. Тоесть ИФ "условие" ТНЕН "дейсвие" и больше ничего.
При вашем же множестве условий, Вам необходимо после ТНЕН преходить на новую строку и там уже писать команды, если условия выполнилось. И опять с новой строки уже писать ЕлсеИф.
Попросту говоря, после каждого ТНЕН понажимайте клавишу Энтер и будет Вам счастье. 🙂

Ответ от ВикиВопрос[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Visual basic excel

для чего нужна mikrosoft Visual studio 2010 ? Что она делает?
Microsoft Visual Studio 2010 — это интегрированная среда разработки от компании Майкрософт,
подробнее...

Как закрепить первые две верхние строки в Excel
Чтобы закрепить первые две верхние строки в Excel, необходимо выделить всю третью строку, нажав на
подробнее...

Как в Visual Studio 2010, включить нумерование строк? Как в Visual Studio 2010, включить нумерование строк?
Чтобы включить нумерацию строк в Visual Studio 2010, откройте главное меню и выберите раздел
подробнее...

Basic или Pascal?
Выбор между Бейсиком и Паскалем зависит от ваших целей. Паскаль традиционно считается отличным
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*