「難しい」を「楽しい」に変える!

【ExcelVBA入門】まだ耐えて!基本編2/2【第3回】

WRITER
 
この記事を書いている人 - WRITER -
事務職。異動により、毎日23時頃まで残業という生活を変えるため、ExcelVBAを勉強。コツコツと実戦投入し、定時帰りを実現。その後プログラムに興味を持ちPythonの勉強を始める。 イベント事は昔から嫌い。よみぞうは静かに暮らしたいのだ。

前回に引き続き、ExcelVBAの基礎の基礎をやっていくよ!

よみぞう

こちらのmovieも併せてご覧下さい!

 

 

Subってなんだ?

まず、このSub」ってなんじゃい!ってことですよね。これはですね、

プログラムって何だ?

えな

ってことをまず考えてほしいんですね。

プログラムっていうのは、エクセルとかパソコンに対する命令文なんですよ。そして、命令文が一冊の本になっているとすると、表紙裏表紙にあたるものが、

このSubEnd Subなんですね。つまり、SubEnd Sub挟まれた間にあるものが、一冊の命令文の内容というわけです。で、Subの後ろに「サンプル入力」って入っているんですが、これは本のタイトルにあたるものです。今後はこのコードウィンドウには命令文を何冊も書いていきますので、パっと見てすぐ分かる様にタイトルを付けて下さい。

タイトルの後の()なんですが、しばらくは使わないので、今は無視して下さい。入力する時も、勝手に入力されるので、特に気にする必要はないです。

続いて中身の説明に移っていきます。
まず最初の行です。

  • ThisWorkbookこのエクセルファイル
  • .(ピリオド、ドット)~
  • Sheets(1) ⇒ シート(1枚目の)

VBAではエクセルファイルの事をworkbookというので、是非覚えて下さい。This「この」という意味、だから、「このエクセルファイル」という意味になります。次のピリオドは単純に「~の」と覚えて下さい。そしたら、もう分かりますよね。Sheets(1)1枚目のシートのことです。

まとめると
ThisWorkbook
.Sheets(1)
このExcelファイルシート1枚目~
と読めます。

セルの指定Range

  • Range(“A1”)⇒ A1セル

このRange(“セルの番地”)というのは、特に大事です。覚えましょう。寝る前に

Rangeはセルの指定Rangeはセルの指定、Rangeはセルの指定………

えな

と繰り返して下さい。

=(イコール)は数学と意味が違う!

次に、の説明に移ります。ここのは、左右同じという意味ではなく=の右のものを=の左に代入するという意味です。エクセルでは主にこの意味でが使われるので注意して下さい。

数学で慣れていると、考え方を変える必要があるね。

よみぞう

えなは数学全然慣れてないから大丈夫!

えな

なんの自慢?

よみぞう

文字列の代入

はいでは、何を代入するのか?=の右側を見て下さい。これは、「サンプル1」という文字列です。

VBAで文字列を表現する時は、この「”(ダブルクォーテーション)」で囲って

これは文字列ですよ!

よみぞう

ということをエクセルに教えてあげる必要があります。

では改めて、この1行をまとめて説明すると、

このエクセルファイルシート1A1セルサンプル1という文字列を代入する
ThisWorkbook.Sheets(1).Range(“A1”)=サンプル1

と言う意味になります。

では次の行に移ります。

セルの指定 Cells

基本的には前の行と同じですが、Cells(1,2)というところが違いますよね?先ほど、

Rangeはセルの指定方法だ

という説明をしましたが、セルの指定方法にはもう一つ種類があります。それが、このCellsという方法です。カッコの中身の , 1 というのは、カンマの前行の番号,カンマの後ろ列の番号です。2行目1列目つまり、A2セルのことを示しています。

Cells(行の番号,列の番号)

これは、オプション数式

ここでR1C1参照形式を使用する」にチェックを入れると



こういう風に見出しの表示方法を変更すれば分かりやすいです。おいおい詳しく説明しますが、「変数」を使う時にはこのCellsという指定方法を使うと今は考えて下さい。これもRangeと合わせて覚えましょう。寝る前に

RangeとCellsはセルの指定RangeCellsのセルの指定、RangeCellsのセルの指定、

えな

と繰り返しましょう。

最後にコードを書くときのルール二つ

インデントを必ず付けよう!

インデントって何だろうか?

えな

余白

この余白の事です。Tabキーを押すといい感じで入力できます。なぜ必要かというと、

その方が読みやすいから

よみぞう

Sub とEnd Sub で囲まれている部分がこれではっきりしますし、今後はSubの中にIf , End If とか With , End With という挟む構造になっているプログラムが出てきますが、この時にもインデントを付けると挟まれている範囲がはっきりします。なお、プログラム上はインデントを付けなくても、問題なく動きます。

コードを書いたら、必ずコメントを書こう!

コメントって何だろうか?

えな

このように一番始めに(シングルクォーテーション)を付けた行の事です。エクセルはこの行をプログラムとは無関係として無視します。これを利用して自分で書いたプログラムがどういう内容かというコメントを残すことができます。特に初心者の場合、自分で書いたプログラムが

これどういう意味だっけ?

えな

となることが多く、その度に調べ直すとかえって時間がかかります。必ず書くようにしましょう。上の例のように簡単でかまいません。

基本的なことは以上だよ!みんな頑張ったね^_^
次回は変数編!

よみぞう

この記事を書いている人 - WRITER -
事務職。異動により、毎日23時頃まで残業という生活を変えるため、ExcelVBAを勉強。コツコツと実戦投入し、定時帰りを実現。その後プログラムに興味を持ちPythonの勉強を始める。 イベント事は昔から嫌い。よみぞうは静かに暮らしたいのだ。

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© Make a Splash ! , 2018 All Rights Reserved.