VBA勉強1/17 関数~データ型(数値・ブール・日付)

こんにちは、たかまいです。
今回は前回の続き…といいたいところですが、
残念ながら脳筋肉、忘れているところもあるので
少し戻りながら進めていきます。
今回も参考図書はパーフェクトExcelVBAです。

目次

関数→プロシージャのうち単体で呼び出すことができ戻り値を返すもの

プロシージャとは

一定の処理の集まり(手続き)のこと
Subプロシージャ
Functionプロシージャ
Property Let/Set プロシージャ
Property Get プロシージャ
が存在している。
プロシージャを呼びだす際には値を渡すことができる。(渡す値を引数という)
種類によっては値を返す機能を持たすことができる。(返す値を戻り値という)
戻り値はプログラムを実行した結果を報告する機能。
Subは戻り値がなく、Functionは戻り値を返す。
Subは戻り値がないため単独で実行する。
Funcitonは戻り値があるため、SubかFunctionに呼ばれて実行する。

ここ結構難しいな。理解しているようで理解できていない気がする。
Functionはマクロの登録では利用ができない。(Subはできる)
Functionは呼び出しをして使用する。
…そういえば。。。

前回写経した部分で使用したFunctionプロシージャ
Function プロシージャ名(ByVal 引数名 As データ型)As 戻り値のデータ型
  プロシージャ名 = 戻り値
End Function

なるほど前回のものは引数なしのFunction プロシージャか。
これを活用するには時間がかかりそうだな。。

データ型

種類について数値、ブール値、日付、文字列、オブジェクト、その他
データ型の指定を行うことで、変数名との組合わせで役割が浮き彫りとなり
想定しやすくなる。

数値型

整数の取り扱いと算術演算による計算を行うことができる。
整数を扱う場合 Long (&)
実数を扱う場合 Double(#)
通貨など正確性が求められる場合 Currency(@)
()内は型宣言文字
※型宣言文字は数値リテラルの後に付与することで型指定ができる。
数値リテラル・・・・((+_+))
ググってみた・・・。
そのまま直接書いた数字や文字のこと
おおっわかるぞ!上の画像でいうところのX=10 の10のことだな。
”ほげ”とかのほげね!

小数点は2進数だとうまく表現ができないから型宣言指定が必要。
(小数点4桁以内だとCurrencyで計算可能)

 つまり数値型のどのデータ型に分類するかは桁数や小数点などを解釈して自動で決められている為、
整数であればIntegerやLong小数であればDoubleとなるので
特定のしたい場合は型変換文字をつける必要がある。

ブール型

これは前回のところで記載したものですね。
二者択一のデータ型。

ブール式は数値として扱われていて
Trueは-1,Falseは0と等しいと判定される。
なるほど・・・(あまりわかっていない)

日付型

年月日だけでなく時分秒まで
西暦は100年から9999年12月31日まで
ハイフンの代わりにスラッシュも利用可能
自動でAMやPMに変換される。

引数の値をDouble型に変換する関数 CDbl関数 整数が日付、小数が時刻

頭がパンクしそうなので今日はこれで
それではまた!

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを身に着けたい運動指導者
ノンプロ研にはまっています

コメント

コメントする

目次