プログラミングの勉強 その6ループ2

年収アップの方法

プログラムの勉強を英語の勉強に例えます。

 

『アメリカ人を笑わせる』

という実践的なお題に対して、

 

「英語のbe動詞の使い方が間違っている」

などにこだわると、以降は延々と英文法の問題になって、いつまでもゴールに辿りつかず勉強が嫌になってしまいます。

 

ここではプログラムを

『とにかく日常の仕事に使えるもの』

 

という観点で、枝葉末節(細かい事)を無視して、動かす事を目的にしています。

 

わたしが実践して収入に変えた経験に基づいた、一番簡単な勉強方法です。

このページから見始めた方へ

このページは、過去の勉強を経てから見た方がわかりやすいです。

 

 

システム設計(難しくないです)についても書きました!

システム設計の考え方【その1 観察が重要】
普通の社会人が接するシステム設計は、NASAのロケット軌道予測プログラムみたいなものではなくもっと身近なものです。 なので人の顔色をうかがうとか、じっくり考える内向的な人でも稼ぎやすい分野です。 設計で一番最初に...

Forループの準備

まずはコピペ用です。

Dim imarow As Long ‘今ドコの行
Dim endrow As Long ‘データ最終行

endrow = Cells(Rows.Count, 1).End(xlUp).Row

For imarow = 1 To endrow
   If Cells(imarow, 1).Value = “東京都” Then
      Cells(imarow, 2).Value = “首都です”
   End If
Next imarow

エクセル表には、このように都道府県を入れてください。

 

これもコピペ用です。

新潟県
大阪府
東京都
秋田県
兵庫県
愛媛県
東京都
千葉県

 

最終行を決める

ループ文の終わりを決めます。

endrowは、自分で決められる変数の名前です。

終わり(end)の行(row)という意味で、endrowにしました。

 

このデータの例では、8行目がデータの入った最後の行です。

 

今までのように

endrow = 8

 

というプログラムを書くのが一番簡単ですが、これだとデータを増やした時に対応できなくなります。

データが8行でも、100行でも対応できるようにします。

 

Cells(Rows.Count, 1).End(xlUp).Row

というのは、数字の1以外はプログラムに決められている定型文です。

 

毎回ググって(Google検索)してコピペすればいいので、暗記しなくて大丈夫です。

数字の1は、今回のエクセル表では

 

A列

 

で、データがどの行まで入っているのか知りたいので、

A列=左から1列目

 

なので、1を入れています。

B列の最終行を知りたい場合は、ここを2にします。

 

For 文で1行ずつ都道府県をチェックする

1行ずつ、都道府県の名前をチェックして、

 

東京都の場合、B列に首都です

 

と表示するプログラムです。

imarow というのが、『今ドコの行か』の意味です。

 

1行ずつ、A列のセルをチェックしているので

 

Cells(imarow, 1).Value

 

となっています。

 

For文にIf文を組み合わせる

For文の中にIf文が入っていると、複雑に見えますが、

 

For は For だけで見て、

If文はIf文だけで見ると、大して複雑でない事がわかります。

 

 

For文はただ、繰り返しているだけ

For文はただ、Next までいったら+1をして、頭のForに戻るだけの文です。

前回の学習で学んだ通り、グルグル回るだけのシンプルな機能しかありません。

 

If文は今まで通り

If文は、

 

プログラミングの勉強のコツ その2

 

で勉強したものの、行に変数imarowを使っただけです。

 

もし Cells(imarow, 1)

 

に東京都が入っていたら、隣のセルに

首都です

と表示します。

 

プログラミングは勉強すればするほど、単純な事の組み合わせだとわかってきます。

一つ一つ分解すると、すごく簡単な事をしているだけです。

 

デバッグで見るとわかりやすい

ForとIfの組み合わせは、デバッグで1行ずつ見るとわかりやすいです。

 

プログラミングの勉強 その3デバッグ

 

で勉強した通り、黄色いのが機械が読んでいる行です。

 

imarowの上にカーソルを置くと、エクセル表の何行目をチェックしているのかがわかります。

 

デバッグで機械と同じ視点を持つ

 

デバッグの黄色い行は、機械がどこのプログラムを読んでいるのかを示しています。

これを追うことで、機械がどうプログラムを処理しているのかがわかります。

 

デバッグしているプログラムの脇に、エクセル表も表示させると、よりわかりやすいです。

 

デバッグ時は、プログラムが最前面にくるように

 

デバッグ中にエクセル表をクリックしてしまうと、エクセル表が最前面に来てしまいます。

 

この時にキーボードのF8キーでプログラムを進めようとしても、F8キーはエクセル表に適用されてしまうので、プログラムは進みません。

 

もう一度、プログラム側をクリックして、最前面にしてください。

 

 

システム設計(難しくないです)についても書きました!

システム設計の考え方【その1 観察が重要】
普通の社会人が接するシステム設計は、NASAのロケット軌道予測プログラムみたいなものではなくもっと身近なものです。 なので人の顔色をうかがうとか、じっくり考える内向的な人でも稼ぎやすい分野です。 設計で一番最初に...