ExcelのVBA(マクロ)でIf to Then~Elseを使用して条件付けする方法 | office 365
If 条件式 Then
条件式が成立した場合に実行する処理
Else
条件式が成立しなかった場合に実行する処理
End If
式を判別し、条件が満たされた場合は、後続のアクションを実行します。式が満たされていない場合は、それ以外の場合以降に実行してください。
条件式は、True または False を返す数式または文字列式です。比較演算子と論理演算子を使用できます。
If 条件式 Then
条件式が成立した場合に実行する処理
End If
それ以外の場合以降は省略できます。
構文はフローチャート(フロー図)で表されます。条件付き結果によって実行される処理は分岐されます。
式が True の場合、”A” が実行されます。一方、Falseの場合は「B」が実行されます。
比較演算子 “>” または “=” を使用して、条件式内の値を比較できます。条件式で使用できる比較演算子については、次の表を参照してください。
比較演算子 | 意味 | 読み方 |
---|---|---|
A > B | A は B より大きい。 | ダイナリ |
A >= B | AがB以上 | はるかに等しい |
A < B | A は B より小さい。 | ショナリ |
A < = B | AがB以下 | 等しくない |
A = B | A は B に等しくなります。 | 等しい、等しい |
A <> B | A と B は等しくありません。 | 山括弧以下 |
論理演算子は、複数の条件において「すべての条件が満たされている」か「1つの条件」が満たされているかなどを判断する場合に使用します。
条件式で使用できる論理演算子については、以下の表を参照してください。
論理演算子 | 意味 | 読み方 |
---|---|---|
A と B | A と B (A と B の両方を満たす) | そして |
A または B | A または B (A または B のいずれかを満たす) | オア |
Aではない | Aではない | 結び目 |
VBA コードで If to Then-Else を使用する方法について説明します。
上の図では、スコアの結果が名前ごとに入力されています。B2 セルが 70 ポイント以上の場合は、C2 セルが “合格” し、それ以外の場合は “失敗” であることを VBA に書き込みます。
Sub sample()
If Cells(2, 2) >= 70 Then
Cells(2, 3) = "合格"
Else
Cells(2, 3) = "不合格"
End If
End Sub
VBAの「If to Then~Else」を使ったサンプルです。
実際にExcelのVBAでIf〜Then〜Elseを使って条件分岐をしてみましょう
作業時間:5分
VBE (Visual Basic Editor) を起動して VBA コードを記述します。(1) 選択[Development]をタップしてリボンからタブを押します (2)[Visual Basic].
ビジュアルベーシックエディタが起動すると、(1)[Double click]ターゲットシートに、(2)ソースコードを書き込んで(3)を押します。[▶]ボタン。※ソースコードについては、記事中の「ユースケース」をご参照ください。
VBA を実行した後にシートに戻ると、この例では、C2 セルに “Pass” と入力されています。VBA If文においてB2セルが70点以上であったか否かを判定した結果、条件を満たす演算を実行した。
ElseIf ステートメントは、複数の条件によって 3 つ以上の操作に分岐する場合に使用します。複数の条件式で決定することができ、3つまたは4つ以上のプロセスに分岐することも可能である。
ElseIf ステートメントには次のように記述されています。
If 条件式1 Then
条件式1が成立した場合に実行する処理
ElseIf 条件式2 Then
条件式2が成立した場合に実行する処理
Else
どの条件式も成立しなかった場合に実行する処理
End If
式 1 を決定し、条件が満たされた場合は、最新の Thien 以降の処理を実行します。条件式1が満たされない場合は、以下の条件式2が判定され、条件が満たされていれば、直近のThien以降の処理が実行される。すべての条件式が満たされていない場合は、それ以外の場合は後で実行してください。
複数の ElseIf ステートメントは、4 つ以上の操作に分岐できます。
構文はフローチャート(フロー図)で表されます。式1と数式2の判定結果によって実行される処理が分岐する。
式 1 が True の場合、”A” は実行utes と false は条件式 2 を決定します。式 2 が True の場合、”B” が実行され、false の場合は “C” が実行されます。
上の図では、スコアの結果が名前ごとに入力されています。B2セルが80点以上の場合は、VBAにC2セルに「◎」、60点以上であれば「○」、1つでない場合は「×」と書きます。
Sub sample()
If Cells(2, 2) >= 80 Then
Cells(2, 3) = "◎"
ElseIf Cells(2, 2) >= 60 Then
Cells(2, 3) = "○"
Else
Cells(2, 3) = "×"
End If
End Sub
このサンプルでは、VBA で “ElseIf” を使用しています。
複数の条件式がすべて満たされているかどうかを判断する場合は、論理演算子 And と If を結合します。
そして、if文で用いるものは、以下のように記述される。
If 条件式1 And 条件式2 Then
条件式1と条件式2の両方とも成立した場合に実行する処理
Else
条件式1と条件式2のいずれか成立しない場合に実行する処理
End If
条件式1と数式2がそれぞれ決定され、両方の条件が満たされていれば、その後の処理が行われる。式 1 または式 2 のいずれかが満たされない場合、それ以外の場合以降。
フローチャート(フロー図)におけるAnd処理の流れのイメージとして表した。式1と数式2の判定結果によって実行される処理が分岐する。
式1が真である場合、式2が決定される。式 2 が True の場合、”A” が実行されます。式 1 または式 2 のいずれかが False の場合は、”B” を実行します。
上の図では、名前ごとに「日本語」「数学」「英語」の結果が入力されています。VBA では、B2、C2、および D2 セルのすべてに E2 セルを “合格” させるポイントが 80 以上あり、それ以外の場合は “不合格” であると記述します。
Sub sample()
If Cells(2, 2) >= 80 And Cells(2, 3) >= 80 And Cells(2, 4) >= 80 Then
Cells(2, 5) = "合格"
Else
Cells(2, 5) = "不合格"
End If
End Sub
これはVBAで “And”を使用したサンプルです。
複数の条件式のいずれかを満たすかどうかを判断する場合は、論理演算子 Or と If を結合します。
If ステートメントで使用される OR は、次のように説明されています。
If 条件式1 Or 条件式2 Then
条件式1か条件式2のどちらかが成立した場合に実行する処理
Else
条件式1と条件式2の両方とも成立しない場合に実行する処理
End If
条件式1と数式2がそれぞれ決定され、1つでも条件が満たされれば、その後の処理が実行される。式 1 も式 2 も満たされない場合は、else 演算とそれ以降の演算を実行します。
フローチャート(フローチャート)ではOrの処理の流れのイメージとして表現した。式1と数式2の判定結果によって実行される処理が分岐する。
式 1 が True の場合、”A” が実行されます。条件式 2 を決定する場合は false。式 2 が True の場合、”A” が実行されます。式 1 と式 2 はどちらも False に対して “B” を実行します。
上の図では、名前ごとに「日本語」「数学」「英語」の結果が入力されています。VBA に、B2、C2、または D2 セルのいずれかが E2 セルが 80 ポイント以上であれば “合格” し、それ以外の場合は “不合格” と書き込みます。
Sub sample()
If Cells(2, 2) >= 80 Or Cells(2, 3) >= 80 Or Cells(2, 4) >= 80 Then
Cells(2, 5) = "合格"
Else
Cells(2, 5) = "不合格"
End If
End Sub
VBAで「Or」を使用したサンプルです。
If ステートメントには、さらに多くの If ステートメントを入れることができます。これは、if ステートメントのネストと呼ばれます。
if ステートメントのネストは、次のように説明されています。
If 条件式1 Then
If 条件式2 Then
条件式1かつ条件式2が成立した場合に実行する処理
Else
条件式1は成立するが、条件式2が成立しない場合に実行する処理
End If
Else
条件式1が成立しない場合に実行する処理
End If
まず、式1を決定し、条件が成立すれば条件式2を決定する。そうでない場合は、最後の Else またはそれ以降のアクションを実行します。
式 2 を決定し、条件が満たされている場合は、最新の Thien 以降の処理を実行します。式 2 が満たされない場合、最新の Else 操作とそれ以降の操作が実行されます。
構文はフローチャート(フロー図)で表されます。式1の判定結果によって実行される処理d式2は分岐する。
式1が真である場合、式2が決定される。False の場合は、”C” を実行します。式 2 が True の場合、”A” が実行されます。”B” を実行する場合は false。
上の図では、目的地ごとに旅費が入力されています。B2セルが10万円以下の場合はC2セルで「検討」、10万円を超える場合は「節約」、7万円未満の場合は「プラン」。
Sub sample()
If Cells(2, 2)
これは、VBA で If ステートメントの入れ子を使用したサンプルです。
View Comments
I am a website designer. Recently, I am designing a website template about gate.io. The boss's requirements are very strange, which makes me very difficult. I have consulted many websites, and later I discovered your blog, which is the style I hope to need. thank you very much. Would you allow me to use your blog style as a reference? thank you!
study music
Я просто обожаю просматривать раздел с led гирляндами на neoneon.ru. Они такие разнообразные и красочные! Мои вечеринки и праздники теперь всегда сопровождаются волшебством света благодаря этому сайту - [url=https://neoneon.ru/]неон цветной[/url]
Чтобы получить 6000 рублей, мне не пришлось искать поручителей или собирать кучу документов. Все-займы-тут.рф предоставил мне [url=https://все-займы-тут.рф/]займ на карту без отказа[/url] в минимальные сроки. Впечатляет список МФО и подробная информация для заемщиков. Я безусловно рекомендую этот сайт для решения ваших финансовых проблем!
http://note.pearltrees.com/15663989/e1eb2cd890284775839602895fb9a0a8
When I originally commented I clicked the "Notify me when new comments are added" checkbox and now each time a comment is
added I get three e-mails with the same comment.
Is there any way you can remove people from that service?
Thanks!
Today, I went to the beach with my children. I found a sea shell and gave it to my 4 year old daughter and
said "You can hear the ocean if you put this to your ear." She put the shell
to her ear and screamed. There was a hermit crab inside and it pinched her ear.
She never wants to go back! LoL I know this is totally off topic but I had to
tell someone!
Как только мне понадобилось усилить присутствие своего проекта в поисковых системах, я решил сотрудничать с компанией https://seo-prodvijenie-v-msk.ru. Результаты наступили оперативно: увеличение органического трафика и постоянный рост позиций сайта. Команда экспертов обеспечила нацеленный на результат подход и разработала детализированную стратегия продвижения. Рекомендую как надежного партнера в SEO-продвижении.
Заказал металлическую дверь недавно - качество на высоте и улучшенная защита для моего дома. Установка заняла совсем немного времени, а уровень шумоизоляции оказался намного лучше ожидаемого. Внешний вид двери идеально сочетается с внешним видом моего дома. Советую к покупке!.
Когда мы потеряли близкого человека, сотрудники https://complex-ritual.ru/ проявили максимум сочувствия и помогли организовать достойные похороны. Они полностью взяли на себя организацию: ритуальные процедуры, транспортировку, оформление документации. Работа выполнена на высочайшем уровне: вежливый персонал, пунктуальность, внимание к деталям. Цены более чем приемлемые для такого высокого уровня сервиса. Рекомендуем эту компанию - в трудный час они окружат вниманием и заботой.