基礎講座第1章8 - 変数を使ったプログラム、変数を使う意義

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

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

解説

変数を宣言する、変数に値を格納する、変数に入った値を活用する、という基本のパターンについて学んでいます。ここで紹介したマクロのプログラムを上から眺めるだけで、どんな流れで処理が進み、最終的にエクセル表がどういう状態になったところでEnd Subにいくか、イメージできるくらいになってもらいたいです。

【この動画で使用する教材ファイル】
 ・Kiso01.xls
 ・kiso_print.pdf(P5:こびとちゃん体験シート)
  →1枚印刷してお手元にご準備ください。
 ・kiso_mm_movie.pdf(P10:講義概要)
※講座内で使用する資料は、この個別ページ内でダウンロードできます。

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

9799 : 小川慶一の回答 (2018-04-21 09:01:21)

マメコトさん:

おはようございます。

そうですね。
「知識の量」より、「手順の習得」の方が大切です。基礎編レベルの段階では、特にそうです。

以下の二つの動画もご確認ください。
○エクセルマクロ研修の選び方2-カレーライスとパソコン1
https://online.pc5bai.com/movie/index/10/891

○エクセルマクロ研修の選び方2-カレーライスとパソコン2
https://online.pc5bai.com/movie/index/10/892

> 何となくわかったような気がするというレベルを、人に説明できるぐらいまでブラッシュアップして参ります。

まだ先の話ですが、基礎編フォローアップの演習を入れるときは、横に誰かがいるつもりで、その人に説明しながら問題を解くと良いです。

これをやると、どこが曖昧になっているか?どこの操作で引っ掛かるか?ということが自分で如実に分ります。
こういうやり方は最初は苦しいです。ですが、自分の中でパターン化できるとすごい力にもなります。
フォローアップの研修をやるときに思い出したら試してみてください。


> 「先ずは確実に出来ること(しかも正確に速く!)を増やす」という先生のご指導に納得いたしました。
> 何となくわかったような気がするというレベルを、人に説明できるぐらいまでブラッシュアップして参ります。


9795 : マメコトさんのコメント (2018-04-20 21:20:08)

「先ずは確実に出来ること(しかも正確に速く!)を増やす」という先生のご指導に納得いたしました。
何となくわかったような気がするというレベルを、人に説明できるぐらいまでブラッシュアップして参ります。


9793 : 小川慶一の回答 (2018-04-20 14:34:33)

マメコトさん:

> 「変数を消して小人ちゃんが帰っていく」=「変数は1つのサブプロシージャーの中でのみ有効」という理解で良いですか?

基礎編で作るようなサブプロシージャの中で宣言される変数についてはその通りです。

> 「複数のサブプロシージャーで変数を共有したい場合は、サブプロシージャーの前に変数宣言すれば良い。」

そのような変数をモジュールレベル変数と言います。
ウチの講座ですと、発展編1で取り扱います。

> 「ただしあまりお勧めしない。」とネットで見た(記憶がある)のですが、お勧めしない理由は何でしょうか。

そのネットの記事には、おすすめしない理由までは書いてありませんでしたか。

いろいろな理由があります。
どの理由から第1に説明するべきか?どの理由は説明し、どの理由は説明しないか?あるいは、説明するとしたらどこまで説明するか?ということは、質問された方の現在のスキルレベルに応じて変わります。

ですので、ここは基礎編というまで事もありますので極めて概念的なことだけ軽くお伝えしておきます。
複数のプロシージャ間で情報を共有する方法としてはモジュールレベル変数を使うよりも、引数つきプロシージャを使う方が使い勝手が良いからです。(引数つきプロシージャは、発展編2で登場します)

基礎編では、複数のプロシージャが情報を共有しなければならないと言うほどの大掛かりなプログラムを書くことを想定していません。
むしろ、そんな大掛かりな仕掛けを使わないでも基本的な道具だけでかなりの仕事はできるようになりますので、まずはそうなって欲しいと思っています。

このご質問については、もしまだ気になることがあるようでしたら、まずは基礎編のフォローアップ演習までを一通りやり終えて、それから改めてご質問いただければと思います。

ある程度マクロ書いた経験がついてからであれば、同じ答えをもらったとしてもまた違って感じられることと思います。

今回は、まずはこのぐらいで。


9787 : マメコトさんのコメント (2018-04-19 13:51:46)

「変数を消して小人ちゃんが帰っていく」=「変数は1つのサブプロシージャーの中でのみ有効」という理解で良いですか?
「複数のサブプロシージャーで変数を共有したい場合は、サブプロシージャーの前に変数宣言すれば良い。ただしあまりお勧めしない。」とネットで見た(記憶がある)のですが、お勧めしない理由は何でしょうか。


9709 : 小川慶一の回答 (2018-04-11 17:34:21)

ゲストさん:

ある程度学習が進むと、はた、と「あ、なるほど。そういうことでこういう名前なのか」と納得されるかもしれません。
発展編1くらいまで学習してもそうならなかったときには...。またご質問ください (^^;

> ありがとうございます!ずっと気になっていたのでスッキリ!です。
> ずっと、SubはSubjectだと思っていました~。^^;


9701 : ゲストさんのコメント (2018-04-11 13:17:02)

ありがとうございます!ずっと気になっていたのでスッキリ!です。
ずっと、SubはSubjectだと思っていました~。^^;


9695 : 小川慶一の回答 (2018-04-10 13:38:25)

ゲストさん:

いちおう、以下のとおりではあります。

Dim: dimension
Sub: sub procedure

でも、それぞれ、その言葉のニュアンスを「なるほど」と理解できるようになるのは、「発展編2」、「発展編1」を学んでからです。

今の段階でその由来を覚えても実務上は役立たないかなと思います。
とりあえず、今の段階では、

Dim: 変数だよー!
Sub: プログラム名だよー!

というくらいの理解でよいかと思います。

とはいえ、なんでも気になるというのは大事なので、何かあればまた遠慮せずにご質問ください☆


> DimやSubは何かの単語の略ですか?


9694 : ゲストさんのコメント (2018-04-10 12:58:51)

DimやSubは何かの単語の略ですか?


9621 : 小川慶一の回答 (2018-03-28 15:21:23)

受講生 さん:

こういう、PCの世界とリアルとをつなげるワークはとても大切です。
ひきつづき、お楽しみください☆

> 小人になったつもりでやるのが、意外と大事だと感じました。
> あと、End Subを言い終えたら変数は消して帰って行くというのが、「へえ~」と思いました。


9619 : 受講生さんのコメント (2018-03-27 15:06:24)

小人になったつもりでやるのが、意外と大事だと感じました。
あと、End Subを言い終えたら変数は消して帰って行くというのが、「へえ~」と思いました。


8793 : 小川慶一の回答 (2017-08-28 17:05:57)

横山 知明さん:

というか、あまり気にせず、先に進んでください。
講座で示した順に学んでいけば上達していくように講座を作り込んでいます。

ひきつづき、よろしくお願いいたします。



> 小川先生 ありがとうございます。
> もっと実務でバリバリ使って理解します。
> まだまだです。


8785 : 横山 知明さんのコメント (2017-08-28 06:09:08)

小川先生 ありがとうございます。
もっと実務でバリバリ使って理解します。
まだまだです。


8751 : 小川慶一の回答 (2017-08-23 08:52:35)

横山 知明さん:

お返事、送れました。

定数は、プログラム実行前から既知で、一度値を設定したらもう変更しないものに対して使います。
ということで、定数のほうが制約が厳しいです。

>どう使い分けるかがわかりません。

分からない間は、変数だけ使っていればよいかと。
ということで、そのような理由から、基礎編では、定数については触れていません。変数と定数の使い分けについて理解するより、とりあえずいつも変数を使うことにしておくにしても、実務で活用できるマクロを自力でガンガン書けるようになることのほうが先決です。
逆に、実務で活用できるマクロを自力で書いた経験がそれなりについたあとであれば、変数と定数の使い分けについては、悩まないでもすぐに理解できるようになるでしょう。


8745 : 横山 知明さんのコメント (2017-08-20 13:06:50)

追伸
Const zeiritsu As Long = 0.05 ではなく、
Const zeiritsu As Single = 0.05 でした。


8744 : 横山 知明さんのコメント (2017-08-20 13:00:06)

変数を使うメリットを、とてもわかりやすく説明していただき、ありがとうございます。変数の他に定数を使うやり方もあると考えますが、どう使い分けるかが
わかりません。定数ですと、Const zeiritsu As Long = 0.05 のような記述になりますが、どちらがベターでしょうか? よろしくお願いします。


8636 : 小川慶一の回答 (2017-08-09 17:03:43)

受講生 さん:

以下のコメント内容、ちゃんとご理解いただけているようでまずはなりにり。
"変数" とか "Dim 変数名" とか書くと文字列ぽいので、僕ならこの投稿ではダブルクオートは入れないかな。。。まあ、何かの参考までに。

> なんども使う数値を”変数”としておくと計算が便利。
> 変数に設定するためには ”Dim 変数名”にして
> ”変数名”=”変数にしたい計算”を書くと良い?


8628 : 受講生さんのコメント (2017-08-08 19:33:04)

なんども使う数値を”変数”としておくと計算が便利。
変数に設定するためには ”Dim 変数名”にして
”変数名”=”変数にしたい計算”を書くと良い?


7125 : 小川慶一の回答 (2016-09-27 13:58:05)

受講生 さん:

>Dimを使ってセルを指定で変数を定義すると

用語の理解がちょっとおかしいようです。
変数についての説明をしている一連の動画を、用語に注意しながら再度閲覧してください。

それで不明な点があればいつでも質問等ください。


7100 : 受講生さんのコメント (2016-09-26 14:25:41)

Dimを使ってセルを指定で変数を定義すると税率が変わった場合にマクロの編集がしやすいことがよく分かりました。


6939 : 受講生さんのコメント (2016-08-13 14:33:47)

変数。本を読んでも???でしたが、小人ちゃんの表現わかりやすかったです。


6061 : 小川慶一の回答 (2016-03-24 11:59:14)

海上 美弥子 さん:

ありがとうございます。
手間かけて紙芝居作った甲斐がありますw

>End Subが来ると、小人ちゃんが変数定義を消してから立ち去るという表現、
>とてもわかりやすくて印象に残りました。


5994 : 海上 美弥子さんのコメント (2016-03-20 01:43:03)

End Subが来ると、小人ちゃんが変数定義を消してから立ち去るという表現、
とてもわかりやすくて印象に残りました。


3573 : 小川慶一の回答 (2015-01-11 00:17:58)

匿名 さん:

ITがやっていることは、リアルで行われている何かを電子の世界に置き換えてやっている、というだけのことです。
そういう視点で見ると、リアルの世界に対する認識をそのまま発展させただけでITを理解できるようになたます。

>そして余談ですがこびとちゃんが両利きだということにこの動画で気づきました…さすがこびとちゃん!

余談ですが、「基礎編」では、指で小数点二桁の計算を片手の指だけでやったりしています (^^;
ひきつづきよろしくお願いいたします。


>こびとちゃんのおかげですごくわかりやすいです。そして、記憶に残りやすいです。
>これで、自分で書くときも、絶対に頭の中でこびとちゃんが出てくると思います。
>
>そして余談ですがこびとちゃんが両利きだということにこの動画で気づきました…さすがこびとちゃん!


3570 : 受講生さんのコメント (2015-01-10 14:17:33)

こびとちゃんのおかげですごくわかりやすいです。そして、記憶に残りやすいです。
これで、自分で書くときも、絶対に頭の中でこびとちゃんが出てくると思います。

そして余談ですがこびとちゃんが両利きだということにこの動画で気づきました…さすがこびとちゃん!


1649 : 受講生さんのコメント (2014-07-07 15:28:59)

変数の話、ここからが楽しみです。


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】 補講:複数ファイル間でのデータ転記 未習得

塾長 小川慶一

メニュー

コメント紹介

もっと見る

ページの先頭へ