VBA 6弾~10弾まとめ

こんにちわ。

今回は TEXTプロパティ と Formulaプロパティ からやっていこうと思います。

予め数値と値段を入力しておきます。

次にプログラム作成です。

一通り完成したのでそれぞれ実行してみます。

実行するとこうなるはずです。

250円がB3に入力され、

6という数値が入力されていたところに1590×1.1の解答が入力されています。

ここでMsgBoxというのが出てきましたがまた後で出てくるのでその時に詳しく説明します。

次に複数のセルの指定方法について

使い方は Range(範囲開始のセル,範囲終端のセル) です。

ではここらへんで練習問題

For... NEXTステートメントを使ってやる問題です。

プログラムを見ていきます。

では起動してみます。

綺麗に交互に色がついていますね。成功です。

続けて・・・

ステートメント

条件によって処理を変えたり同じ処理を何度か繰り返す等、マクロの動きを制御する働きをする命令。

言葉ではわかりにくいですね。なのでやっていきますwww

はじめは、 IF ステートメントです。

もし・・・・・だったらAを実行する のように 特定の条件によって処理を変える

これが、IFステートメント

では、もしセルA1が空欄だったら●を入れるプログラムでも作ってみます。

ハイ!できましたね。デバックも終了したので起動してみましょうwww

きちんと空欄のA1に●が表示されればOKです。

デワ続いて For NEXT

先ほどのプログラムをちょっと改造

だいぶ改造しちゃいましたね(笑)

動作確認シテミマショウMsgBoxガ20回表示されるはずです。

 

このように表示されます。

次にWithステートメント今回は詳しくは説明しません。

スタンダードノホウデヤルブンヤナノデ・・・

簡単に言うと、VBAの命令をまとめる働きのあるステートメントデス。

まずはこのようにセルに値を入力しておきます。

後期の値が初期値より大きければ判定の欄に合格と入れるという

プログラムを作ってみましょう。

 

こんなかんじにできましたか?

デワ実行

こんな感じになるはずですwww

続けて関数に入っていきます。

まず、関数は決まった計算や処理を行う命令です。

言い換えれば数学でいう公式です。

そしてマクロの多くは何らかの関数を使いますね。

ですがマクロ記録では関数は記録されないのでVBA関数は覚える必要があります。

それでは、日付や時刻を操作する関数を

NOW    現在の日時を返す関数です

空っぽのセルを用意します。

NOW関数のプログラムはこんな感じでできました。

さっそく実行してみましょう。

このように表示されるはずですね。

 

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ここでコメントの書き方を(忘れていたので!(´;ω;`))

VBAでは Rem または '(シングルクォーテーション)に続けて記述します。

Rem や ’ から後ろはマクロ実行時に無視されます。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

では、年と月と日 時間と分と秒 を表示するプログラムを作ってみます。

書式は

Yer(日付)      Hour(日付)

Month(日付)               Minute(日付)

Day(日付)                  Second(日付)                               

デス。

形はこんな感じです。

 

EXCELの セルA1 に今日の日付を入れておきます。

準備が完了したので実行してみましょう。

そして、実行するたびに秒や分時間が変わります。

次は DatSerial関数と Len関数についてやっていきます。

DatSerial関数 は年月日から日付データ(シリアル値)を返す関数です

Len関数は引数に指定した文字列の文字数を返すプログラムです。

では、書式

DatSerial(年,月,日)                      Len(文字列) これが書式です。

プログラムを作ってみます。

まずはDatSerial関数から起動してみます。

続いてLen

まあたぶん4と出るんだろう・・・・

ほらねwwww

最近プログラム組んでてその先の結果を予測することが楽しくなってきた着たかもしれないwww

Left(文字列,文字数)

 引数に指定した文字列の左端から指定した文字数分の文字列を返す

Right(文字列,文字数)

 引数に指定した文字列の右端から指定した文字数分の文字列を返す

Mid(文字列,開始位置,文字数)

引数に指定した文字列のうち、開始位置で指定した位置から文字数で指定した文字数分の文字列を返す。

からはじめていきます。

 

まずはいつも通りプログラムから作っていきます。

こんなかんじにできました。さっそく起動していきますwww

こんな感じに表示されます。

補足~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Mid関数は引数「文字数」を省略すると開始位置から後ろ全部を返します。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

続いて

LCase(文字列) 引数に指定したアルファベットを小文字にする

UCase(文字列) 引数に指定したアルファベットを大文字にする

LTrim(文字列) 引数に指定した文字列の左端にあるスペースを取り除く

RTrim(文字列) 引数に指定した文字列の右端にあるスペースを取り除く

Trim(文字列) 引数に指定した文字列の両端にあるスペースを取り除く

プログラムはこんな感じですね。

まずはこちらから。

 

そしてTrim関数のプログラム

 

実行結果はこんな感じです。わかりづらいですが・・・・

ここまでご覧いただきありがとうございました

=============BY MT======================