基礎講座第4章7 - 「If文」の実習

この講座は有料講座です。
講座の購入後ご覧になれます。

ログインアカウントの新規作成

解説

If文を作る実習です。
For Next構文と異なり、「ナカに入れる」のときに、入れる箇所が1つとは限らないです。4:25くらいでやっている作業の様子からしっかり学んでください。

【この動画で使用する教材ファイル】
 ・Kiso04_03IfThen
 ・kiso_mm_movie.pdf(P7:主要な「構造」)
※講座内で使用する資料は、この個別ページ内でダウンロードできます。

この教材についての過去の質問・感想

11424 : 小川慶一の回答 (2019-05-21 14:07:16)

ゲストさん:

> コーディングの途中で行うテスト回数が圧倒的に多い。見習いたい。

おー!そこに反応しますか!

そうです。まさに、重要ポイントはそこです。
早く正確にコーディングするには、開発環境標準機能を活用しまくって着実に進捗する方法を採用することです v(^_^


11418 : ゲストさんのコメント (2019-05-20 21:32:35)

コーディングの途中で行うテスト回数が圧倒的に多い。見習いたい。


11062 : 小川慶一の回答 (2019-02-02 13:08:09)

jinoseさん:

「かけ算九九」とか「二次方程式の解の公式」とか同じです。
理解科目上達の秘訣は、基礎になる技術を身体に覚えさせることです。


> [感想]
> For next構文を作る際に、勝手に手が動いたので自分でもびっくりです!(if文はまだ考えながらという感じですが)


11058 : jinoseさんのコメント (2019-02-01 09:16:04)

[感想]
For next構文を作る際に、勝手に手が動いたので自分でもびっくりです!(if文はまだ考えながらという感じですが)


9685 : 小川慶一の回答 (2018-04-09 08:03:39)

morimotoさん:

リアルの仕事でも同じですね。ひとつひとつの工程をしっかり完了させてから次に向かうほうが頭が混乱しにくいです。

> if thenとfor nextの組み合わせでよくある基本事例ですが、実際書いてみるとend ifより先にnextなのか後にnextなのか、、、だめだったら先後いれかえようと中途半端な理解でやってましたが、このハナコステップと「if then」で1つの箱、「for next」で1つの箱と考えれば
> 何も悩まずできるもんですね。このハナコステップの視点はすごいです。


9680 : morimotoさんのコメント (2018-04-09 01:13:49)

if thenとfor nextの組み合わせでよくある基本事例ですが、実際書いてみるとend ifより先にnextなのか後にnextなのか、、、だめだったら先後いれかえようと中途半端な理解でやってましたが、このハナコステップと「if then」で1つの箱、「for next」で1つの箱と考えれば
何も悩まずできるもんですね。このハナコステップの視点はすごいです。


8898 : 小川慶一の回答 (2017-09-17 11:59:02)

受講生 さん:

おつかれさまです (^^*

Dim b で b という変数を作りましたね。

b = Range("h" & c).Value で、 b に、 Range("h" & c) の値を投入しましたね。

しかし、その後に変数 b の値が変わったからといって、 Range("h" & c) の値は変わりません。

この説明でピンとこないようでしたら、以下の動画をもう一度見直して、こびとちゃんシートを使って手書き演習してみてください。

○ 基礎講座第1章8 - 変数を使ったプログラム、変数を使う意義
https://online.pc5bai.com/movie/index/25/104

○基礎講座第1章9 - 変数を活用するときの注意点
https://online.pc5bai.com/movie/index/25/105

それでもピンとこなかった場合は、またご質問ください。


8893 : 受講生さんのコメント (2017-09-17 08:09:15)

おかげさまで少しづつ理解できるようになりました。
そこで、同じように記入するところは、変数a,bでいいかな?と思い、
以下のようにしてみましたが、range("h" & c) には値が入って
きませんでした。

エラーは出ていないのですが、変数の使い方に問題があるので
しょうか?
変数a,bのところをrange~とすればきちんと実行されます。

よろしくお願いいたします。

Sub ren()
    Dim a
    Dim b
    
    Dim c
    For c = 2 To 11
        
    a = Range("g" & c).Value
    b = Range("h" & c).Value
           
    If a > 70 Then
        b = "合格"
    ElseIf a >= 50 Then
        b = "まあまあ"
    Else
        b = "不合格"
    End If
    
    Next
    
End Sub


8811 : 小川慶一の回答 (2017-08-30 21:04:40)

受講生 さん:

お団子だけに集中すればOKです。
あとは頭を使わないでも勝ってにうまく行きます☆

> 一気にできると気持ちが良い!
> そのためには大事なのは、はじめの おだんご 作りだ!


8809 : 受講生さんのコメント (2017-08-30 20:38:45)

一気にできると気持ちが良い!
そのためには大事なのは、はじめの おだんご 作りだ!


7850 : 小川慶一の回答 (2017-03-22 09:04:31)

受講生 さん:

コメントありがとうございます。

>For next構文 if文を使う場合、for next 構文が外側、if文が内側に来るという型で覚えて差し支え無いでしょうか?if文が外側に来ることもあるのでしょうか?

試してみてください。
それで行き詰まるようでしたら、またご質問を。
そのときには、どのような調査をその後したのか?その結果、どういう理解をしたのか?もお知らせください。

>また、カテゴリ違いなのですが、
>あるパスの特定のフォルダ、ファイルを開くというマクロはどのように書けばよろしいでしょうか?

エクセルファイルやCSVファイルなどのエクセルで開けるファイルを開くというだけであれば、導入編で紹介した自動記録機能を使ってもそれなりに動くマクロは得られます。
そのようにして得られたマクロをまずはご自身で解析してみてください。

基礎編本編の第1章でも、エクセルファイルを開く方法を紹介しています。再度チェックしていただければと。

また、基礎編受講生向けに用意した以下の演習でも、「所定のフォルダにあるエクセルファイルを開く」といった操作を実現するマクロを実習形式で学べるようにしています。
動画その27「転記先ファイルを生成してデータを流し込む。」以降です。
https://online.pc5bai.com/package/index/27

「エクセルファイルやCSVファイルなどとは異なり、エクセルでは通常開けない形式のファイル」や「フォルダ」の開き方については、基礎編では扱っていません。
基礎編は、エクセルファイルの処理をできるようになることをターゲットにしている講座だからです。

フォルダ操作、テキストファイルやWordファイル等のエクセルでは通常開けないファイルの操作については、以下に紹介する上級講座で扱っています。
http://www.exvba.com/gaibu.php

とはいえ、マクロを書いた経験がそこそこにないと使いこなせないので、そういう意味でも、いずれはそういう技術をすんなり理解できるようになるべく、まずは基礎編とそのフォローアップ演習に集中していただければと。

>For next構文 if文を使う場合、for next 構文が外側、if文が内側に来るという型で覚えて差し支え無いでしょうか?if文が外側に来ることもあるのでしょうか?


上記の質問を読む限り、フォルダ操作、テキストファイルやWordファイル等のエクセルでは通常開けないファイルの操作についてについて説明差し上げても、受講生さんには、まだ理解して使いこなすことはできないかとも思います。
先に基礎編の演習をやりまくって、成功したり失敗したりといった体験を十分に積まれることをお勧めします。実務でもマクロを書いて、講座内容についてでも、実務上の課題についてでも、またどんどん質問・相談してください。今後ともよろしくお願いいたします。


7849 : 受講生さんのコメント (2017-03-22 08:23:25)

お世話になっております。
先にお団子を作るやり方で、マクロ作成の順番がわかってきました。ありがとうございます。

For next構文 if文を使う場合、for next 構文が外側、if文が内側に来るという型で覚えて差し支え無いでしょうか?if文が外側に来ることもあるのでしょうか?

また、カテゴリ違いなのですが、
あるパスの特定のフォルダ、ファイルを開くというマクロはどのように書けばよろしいでしょうか?

どうぞよろしくお願い致します。


7440 : 受講生さんのコメント (2016-12-21 11:53:38)

理解できました。


6079 : 小川慶一の回答 (2016-03-24 12:26:47)

受講生 さん:

上から書いていったら僕でも書けません


6022 : 受講生さんのコメント (2016-03-21 16:03:07)

ForNext構文とIF構文を組み合わせるのは、自分でやると理屈を考えるのも難しく、
エラーをすべてなくすまでとても時間がかかっていました。
ところがハナコのステップでやれば、何も問題なく完成できて驚いています。
おだんご部分をまとめて字下げしてからカットコピーなども、先生の説明がいつも一貫しているので覚えやすいです。
この調子で他の構文もマスターしたいです。
goosk


5787 : 小川慶一の回答 (2016-02-15 08:39:45)

受講生 さん:

>関数を使うより、VBAで記述するメリットはあるのでしょうか?

関数を使う場合、VBAを使う場合での受講生さんが考えられる、メリット、デメリットをまずはリストしていただけますか。
それを見ながらいっしょに考えましょう。よろしくお願いいたします (^


5785 : 受講生さんのコメント (2016-02-15 00:15:56)

いつも楽しく勉強させていただいてます(*^^*)

私はいままではl関数ネストを使ってマンションリストのような住所の分割や、条件によって表示させる内容を変えたりしていました。

関数を使うより、VBAで記述するメリットはあるのでしょうか?


5424 : 小川慶一の回答 (2015-12-12 09:59:53)

受講生 さん:

>ですが、それが、外側から書くのが論理を組み立てていくのに(初心者にとっても)都合がいい場合だからなのか、それとも、ただ単に、達人レベルはステップを踏まずに書けるだけなのかは区別できません。

区別できないようでしたら、とにかく動画でやっているようにマネして書くことをくり返してください。
質問者さんには、その差を区別できるようになるための経験が足りません。経験が足りないから、区別できないのです。

質問者さんのこれまでの質問の傾向からするに、マクロの習得云々以前に、理系科目の学習体験が弱いように見受けられます。

量をこなさないと質的な違いは見分けられるようにはなりません。
そして、この「量」についての話は、「エクセルマクロの」というより以前に、「理系科目全体の」という意味でもあります。

この講座で量をこなすことは、「理系科目全体の」量をこなすことそのものなので、ここで徹底して訓練すれば、マクロ以外のことにも応用の効く考え方や問題解決能力が身につくでしょう。

この講座での学び方については、以下も参考にしてください。
http://www.exvba.com/comment_detail.php?comment_id=5411




>小川慶一 さん:
>
>基礎フォローアップ第16回で、お団子を作る前に、外側から書いていく動画がありますから、おそらく、基本のステップを外して書くことがあるのだとは思います。
>ですが、それが、外側から書くのが論理を組み立てていくのに(初心者にとっても)都合がいい場合だからなのか、それとも、ただ単に、達人レベルはステップを踏まずに書けるだけなのかは区別できません。
>
>>受講生 さん:
>>
>>どう思われますか。
>>
>>>小川様
>>>この動画の解説文に、「ハナコのステップ」で作ったIf文を、For Next構文で挟み込んでいます。
>>>このように、プログラムを書くときには、一番内側のものから書いていくのが初心者向けです。
>>> (このステップを完全にマスターすると、外側からでもどこからでも書けるようになります)
>>>とあります。( )内のコメントですが、完全にマスターした人は、マクロを書く基本である小さいものから、大きなものへのステップを外して書くことがある
>>>という意味にもとれますが、どうなのでしょうか。
>>
>


5419 : 受講生さんのコメント (2015-12-12 05:28:27)

小川慶一 さん:

基礎フォローアップ第16回で、お団子を作る前に、外側から書いていく動画がありますから、おそらく、基本のステップを外して書くことがあるのだとは思います。
ですが、それが、外側から書くのが論理を組み立てていくのに(初心者にとっても)都合がいい場合だからなのか、それとも、ただ単に、達人レベルはステップを踏まずに書けるだけなのかは区別できません。

>受講生 さん:
>
>どう思われますか。
>
>>小川様
>>この動画の解説文に、「ハナコのステップ」で作ったIf文を、For Next構文で挟み込んでいます。
>>このように、プログラムを書くときには、一番内側のものから書いていくのが初心者向けです。
>> (このステップを完全にマスターすると、外側からでもどこからでも書けるようになります)
>>とあります。( )内のコメントですが、完全にマスターした人は、マクロを書く基本である小さいものから、大きなものへのステップを外して書くことがある
>>という意味にもとれますが、どうなのでしょうか。
>


5402 : 小川慶一の回答 (2015-12-09 07:54:20)

受講生 さん:

どう思われますか。

>小川様
>この動画の解説文に、「ハナコのステップ」で作ったIf文を、For Next構文で挟み込んでいます。
>このように、プログラムを書くときには、一番内側のものから書いていくのが初心者向けです。
> (このステップを完全にマスターすると、外側からでもどこからでも書けるようになります)
>とあります。( )内のコメントですが、完全にマスターした人は、マクロを書く基本である小さいものから、大きなものへのステップを外して書くことがある
>という意味にもとれますが、どうなのでしょうか。


5398 : 受講生さんのコメント (2015-12-08 06:07:49)

小川様
この動画の解説文に、「ハナコのステップ」で作ったIf文を、For Next構文で挟み込んでいます。
このように、プログラムを書くときには、一番内側のものから書いていくのが初心者向けです。
(このステップを完全にマスターすると、外側からでもどこからでも書けるようになります)
とあります。( )内のコメントですが、完全にマスターした人は、マクロを書く基本である小さいものから、大きなものへのステップを外して書くことがある
という意味にもとれますが、どうなのでしょうか。


4432 : 小川慶一の回答 (2015-06-05 02:04:55)

尾股 正寿 さん:

お返事遅くなりました。

[1] 発展編1の内容なのでその意味までは今回は書きませんが、以下の書き方です。

11 の代わりに、 Range("A" & Rows.Count).End(xlUp).Row

[2] 基礎編フォローアップ動画をひととおりやってからまたご質問ください。フォローアップの中で、そこに至るまでのヒントは得られるかと。


>①For gyo = 2 To 11 でなく 後ろが「データの入っている最終行まで」としたいときどう書けばいいですか。
>②また、たくさんあるデータの中から 例えば住所でいうと 渋谷区で小田急線の(2つ以上の条件)の人のデータを横にすべて範囲指定するとかできますか?


4388 : 尾股 正寿さんのコメント (2015-05-30 12:31:26)

①For gyo = 2 To 11 でなく 後ろが「データの入っている最終行まで」としたいときどう書けばいいですか。
②また、たくさんあるデータの中から 例えば住所でいうと 渋谷区で小田急線の(2つ以上の条件)の人のデータを横にすべて範囲指定するとかできますか?


3501 : 小川慶一の回答 (2014-12-29 18:36:25)

ライスミルク さん:

正確さを担保できる方法を採用するのがとても大切です。


>IfとElseの間に、単純に、コピーしていけば良いということは、目からものさしでした!!
>
> 入力ミスもないし、早いし、素敵です!!


3497 : 山本 茂生さんのコメント (2014-12-29 08:54:14)

IfとElseの間に、単純に、コピーしていけば良いということは、目からものさしでした!!

 入力ミスもないし、早いし、素敵です!!


1749 : 小川慶一の回答 (2014-07-17 05:00:31)

匿名 さん:

慣れてしまえば、簡単ですよ!
すぐに、カッコよくなれます!練習、練習!! o(^_^)o

>カッコイイです~!


1748 : 受講生さんのコメント (2014-07-17 04:45:23)

カッコイイです~!


3日がかりのその仕事、3分で終わらせる方法教えます。ガラパゴスタディーオンライン講座 ユーザー登録

本講座の動画一覧

  1. 【動画1】 基礎講座第1章1 - マクロの入ったファイルを開くときの注意点
    【動画1】 基礎講座第1章1 - マクロの入ったファイルを開くときの注意点 未習得
  2. 【動画2】 基礎講座第1章2 - オブジェクトの指定
    【動画2】 基礎講座第1章2 - オブジェクトの指定 未習得
  3. 【動画3】 基礎講座第1章3 - 色の指定
    【動画3】 基礎講座第1章3 - 色の指定 未習得
  4. 【動画4】 基礎講座第1章4 - コメントの活用
    【動画4】 基礎講座第1章4 - コメントの活用 未習得
  5. 【動画5】 基礎講座第1章5 - 算術演算子
    【動画5】 基礎講座第1章5 - 算術演算子 未習得
  6. 【動画6】 基礎講座第1章6 - 手書きする演習
    【動画6】 基礎講座第1章6 - 手書きする演習 未習得
  7. 【動画7】 基礎講座第1章7 - ワークシート関数との挙動の違い
    【動画7】 基礎講座第1章7 - ワークシート関数との挙動の違い 未習得
  8. 【動画8】 基礎講座第1章8 - 変数を使ったプログラム、変数を使う意義
    【動画8】 基礎講座第1章8 - 変数を使ったプログラム、変数を使う意義 未習得
  9. 【動画9】 基礎講座第1章9 - 変数を活用するときの注意点
    【動画9】 基礎講座第1章9 - 変数を活用するときの注意点 未習得
  10. 【動画10】 基礎講座第1章10 - 自動データヒント機能
    【動画10】 基礎講座第1章10 - 自動データヒント機能 未習得
  11. 【動画11】 基礎講座第1章11 - テストの方法
    【動画11】 基礎講座第1章11 - テストの方法 未習得
  12. 【動画12】 基礎講座第1章12 - ドリル
    【動画12】 基礎講座第1章12 - ドリル 未習得
  13. 【動画13】 基礎講座第2章1 - 第2章の概要
    【動画13】 基礎講座第2章1 - 第2章の概要 未習得
  14. 【動画14】 基礎講座第2章2 - 文字列とは
    【動画14】 基礎講座第2章2 - 文字列とは 未習得
  15. 【動画15】 基礎講座第2章3 - 文字列操作の基本
    【動画15】 基礎講座第2章3 - 文字列操作の基本 未習得
  16. 【動画16】 基礎講座第2章4 - セルの書式と、値の投入
    【動画16】 基礎講座第2章4 - セルの書式と、値の投入 未習得
  17. 【動画17】 基礎講座第2章5 - 文字列の結合
    【動画17】 基礎講座第2章5 - 文字列の結合 未習得
  18. 【動画18】 基礎講座第2章6 - セルやシートの指定に使われる文字列
    【動画18】 基礎講座第2章6 - セルやシートの指定に使われる文字列 未習得
  19. 【動画19】 基礎講座第2章7 - 日付の扱い
    【動画19】 基礎講座第2章7 - 日付の扱い 未習得
  20. 【動画20】 基礎講座第2章8 - ドリル1
    【動画20】 基礎講座第2章8 - ドリル1 未習得
  21. 【動画21】 基礎講座第2章9 - ドリル2
    【動画21】 基礎講座第2章9 - ドリル2 未習得
  22. 【動画22】 基礎講座第2章10 - ドリル3
    【動画22】 基礎講座第2章10 - ドリル3 未習得
  23. 【動画23】 基礎講座第2章11 - ドリル4
    【動画23】 基礎講座第2章11 - ドリル4 未習得
  24. 【動画24】 基礎講座第2章12 - ドリル5
    【動画24】 基礎講座第2章12 - ドリル5 未習得
  25. 【動画25】 基礎講座第3章1 - マクロを書く人のためのキーボード操作
    【動画25】 基礎講座第3章1 - マクロを書く人のためのキーボード操作 未習得
  26. 【動画26】 基礎講座第3章2 - マクロを書く人のためのショートカットキー操作
    【動画26】 基礎講座第3章2 - マクロを書く人のためのショートカットキー操作 未習得
  27. 【動画27】 基礎講座第3章3 - Left関数、Mid関数、Right関数
    【動画27】 基礎講座第3章3 - Left関数、Mid関数、Right関数 未習得
  28. 【動画28】 基礎講座第3章4 - Len関数、Instr関数
    【動画28】 基礎講座第3章4 - Len関数、Instr関数 未習得
  29. 【動画29】 基礎講座第3章5 - 手書きドリル1(関数の練習)
    【動画29】 基礎講座第3章5 - 手書きドリル1(関数の練習) 未習得
  30. 【動画30】 基礎講座第3章6 - 手書きドリル2(関数の練習)
    【動画30】 基礎講座第3章6 - 手書きドリル2(関数の練習) 未習得
  31. 【動画31】 基礎講座第3章7 - 住所情報を分割する(方針を考える)
    【動画31】 基礎講座第3章7 - 住所情報を分割する(方針を考える) 未習得
  32. 【動画32】 基礎講座第3章8 - 住所情報を分割する(方針の説明)
    【動画32】 基礎講座第3章8 - 住所情報を分割する(方針の説明) 未習得
  33. 【動画33】 基礎講座第3章9 - 住所情報を分割する(実習)
    【動画33】 基礎講座第3章9 - 住所情報を分割する(実習) 未習得
  34. 【動画34】 基礎講座第3章10 - プログラミング実習のまとめ
    【動画34】 基礎講座第3章10 - プログラミング実習のまとめ 未習得
  35. 【動画35】 基礎講座第4章1 - 第4章の概要
    【動画35】 基礎講座第4章1 - 第4章の概要 未習得
  36. 【動画36】 基礎講座第4章2 - ハナコのステップ
    【動画36】 基礎講座第4章2 - ハナコのステップ 未習得
  37. 【動画37】 基礎講座第4章3 - 「For Next構文」を覚える
    【動画37】 基礎講座第4章3 - 「For Next構文」を覚える 未習得
  38. 【動画38】 基礎講座第4章4 - 「For Next構文」の実習
    【動画38】 基礎講座第4章4 - 「For Next構文」の実習 未習得
  39. 【動画39】 基礎講座第4章5 - 「ハナコのステップ」のふりかえり
    【動画39】 基礎講座第4章5 - 「ハナコのステップ」のふりかえり 未習得
  40. 【動画40】 基礎講座第4章6 - If文
    【動画40】 基礎講座第4章6 - If文 未習得
  41. 【動画41】 基礎講座第4章7 - 「If文」の実習
    【動画41】 基礎講座第4章7 - 「If文」の実習 未習得
  42. 【動画42】 基礎講座第4章8 - 比較の条件設定バリエーション
    【動画42】 基礎講座第4章8 - 比較の条件設定バリエーション 未習得
  43. 【動画43】 基礎講座第4章9 - If文のその他の構文その1
    【動画43】 基礎講座第4章9 - If文のその他の構文その1 未習得
  44. 【動画44】 基礎講座第4章10 - If文のその他の構文その2
    【動画44】 基礎講座第4章10 - If文のその他の構文その2 未習得
  45. 【動画45】 補講:複数ファイル間でのデータ転記
    【動画45】 補講:複数ファイル間でのデータ転記 未習得

塾長 小川慶一

メニュー

コメント紹介

もっと見る

ページの先頭へ