今から応用情報技術者試験の勉強をするブログ (NW・SC・基本情報・Iパス、NTTドットコムマスター、エクセルVBAエキスパートもあり)

今から応用情報技術者試験の勉強をするブログ (NW・SC・基本情報・Iパス、NTTドットコムマスター、エクセルVBAエキスパートもあり)

PR

プロフィール

oyo takesi

oyo takesi

カレンダー

バックナンバー

2025年11月
2025年10月
2025年09月
2025年08月
2025年07月

コメント新着

コメントに書き込みはありません。

キーワードサーチ

▼キーワード検索

2019年11月29日
XML
カテゴリ: エクセルVBA
皆さま こんにちは

現在勉強しているエクセルVBAエキスパート
のマクロの読解について
考えたいと思います。

あくまで、私個人の考えですので
その点ご了承下さい。

また、レベルはベーシックレベルとなっています。

--------------------
VBAの読解について 例3
・例3
以下のようなコードをどのように
読んでいけばよいのでしょうか。

1行目 Sub Macro3()
2行目    Dim i As long, j As long
3行目      j = Cells(Rows.count,1).End(xlUp).Row
4行目      For i = 1 To j
5行目      Cells(i,2) = Cells(i,1)*2
6行目  Next i
7行目  End Sub

今回も、整理するために
方針を立てておきたいと思います。

ーーーーーーーーーーーーーーーーーーーーーーー
方針1 :基本的に上から読んで考える
方針2 :「何をどうする」で考える
方針3 :関数やステートメントの意味を考える
ーーーーーーーーーーーーーーーーーーーーーーー
ここでも
まず方針1『基本的に上から読んで』いきます。

1行目の「Sub Macro3()」
でSubプロシージャを使うことと、マクロの名前が
 「Macro3」であることが分かります。
ただ、この行は形式的なもので
マクロの動作にはあまり関係ありません

2行目ここで 変数 「i」 「j」 を宣言しています。
型の「Long」は整数型のようです。
ということは「i」「j」には数値が入るのでしょう。
(文字列は入らない)

3行目では変数「j」についての操作のようです。
方針2の『何をどうする』で考えると
変数「j」に何かを代入します。
その何かは
A列の セルの最終行を求めて
そこから上に上がっていき、
最初に値の入っているセル
の行数を取得するようです。

(行の総数はRow.Countで取得しています。)

Rowが有るので、セルそのものではなく行の値です。

あくまで3行目の
 「Cells(Rows.count,1).End(xlUp).Row」
の部分はセルの行数の値(数値)を見つける役割です。
その見つけた値を変数「j」に代入しているのです。

4行目は
『ステートメントの意味』から
変数「i」を1回からj回繰り返す事
になります。

変数「j」は3行目のコードから
行数の値なので
セルA1→A2→A3→A4・・・
と最終行まで繰り返すことを意味しています。

5行目は
方針2の『何をどうする』で考えると
 セルBの列に何かを代入しています。
 代入するものの中身はセルA列の値*2したものです。

6行目
 Next i があるので
 繰り返しはここまでです。
 この繰り返しは4行目で求めた行の値
(=変数「J」)の回数だけ
 5行目の動作を繰り返すことになります。
 つまり変数「J」の回数だけ
 セルB列に代入していくのです。

7行目
 EndSubで完了させます。
やはり1行ずつゆっくりと
読んでいくとわかっていくようです。
ベーシックレベルであれば
このレベルで大丈夫なのでしょう。

あとはマクロをできるだけ読んで
慣れるのみかと思います。

本日はここまでと致します。
お疲れ様でした。


復習は副読本も参考に
↓↓↓↓↓





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2019年11月29日 20時13分18秒
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: