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

年収アップの方法

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

 

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

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

 

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

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

 

ここではプログラムを

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

 

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

 

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

スポンサーリンク
スポンサーリンク

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

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

 

Forループの準備

まずはコピペ用です。

Dim imarow As Long ‘今ドコの行
Dim endrow As Long ‘データ最終行endrow = Cells(Rows.Count, 1).End(xlUp).RowFor 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キーはエクセル表に適用されてしまうので、プログラムは進みません。

 

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