【ExcelVBA入門】型変換するキャストの使い方について徹底解説!

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。

皆さんは、VBAで型変換する方法を知っていますか?

文字列を数値、数値を文字列など型変換するケースは多いです。

そこで今回は、

・型変換をするキャストとは?

といった基礎的なことから、

・VBAで型変換する方法

・型を確認するためのTypeNameメソッドとは

・型をチェックする方法

といった応用的な方法まで、徹底的に解説します!

型変換するためのキャストとは?

まずは、型変換する方法について解説します。

キャストと呼ばれる方法で、変数の型を別の型へ変換することができます。

VBAでキャストする方法を、以下にまとめました。

VBAでキャストする方法一覧:

No変換関数概要変換後の型
1CDate日付型へのデータ変換Date型
2CLng長整数型へのデータ変換Long型
3CInt整数型へのデータ変換Integer型
4CByteバイト型へのデータ変換Byte型
5CBoolブール型へのデータ変換Bool型
6CDbl倍精度浮動小数点実数型へのデータ変換Double型
7CSng単精度浮動小数点実数型へのデータ変換Single型
8CStr文字列型へのデータ変換String型
9CCur通貨型へのデータ変換Currency型

このように、型変換するための関数がたくさんあります。

「キャスト」のCから始まっているのが特徴ですね。

例えば、Integer型の数値をString型の文字列に変える場合は、CStr関数を使って次のように書きます。

CStrを使うサンプルコード:

関数名(変換元の値)のように書くことで、簡単に変換することができます。

ただ、キャストの関数は量が多いので、いきなり全て覚えようとするのではなく、まずは「キャストを使って型を変換することができる」というレベルで覚えるのがおすすめです。

型を確認するためのTypeName関数とは

変換する方法はわかったけど、正しく型変換できているか確認したい」という方もいるのではないでしょうか。

そんな方向けに、TypeName関数を使った型確認方法について解説します。

TypeName関数を使えば、次のように簡単に型名を確認することができます。

TypeName関数の使い方:

さきほどのCStr関数を使って変換した型名を確認する場合は、次のように確認します。

サンプルコード:

実行結果:

このように、簡単に数値の型を確認することができます。

ちなみに、TypeName関数の使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】文字列・数値を判定するためのTypeNameの使い方とは
更新日 : 2018年8月21日

型をチェックする方法

数値計算に変数を使う場合、数値に変換できないとエラーになってしまうケースもありますよね。

TypeName関数を使って取得した型を見て、文字列・数値などを判定しても良いですが、もっとシンプルに型チェックをする方法があります。

VBAで型をチェックする方法を以下にまとめました。

型チェック方法一覧:

No関数名チェックする内容
1IsArray配列のデータ
2IsDate日付型のデータ
3IsEmpty値がEmptyのデータ
4IsError式の結果がエラー
5IsNullNull値が含まれているデータ
6IsNumeric数値型のデータ
7IsObjectオブジェクト型のデータ

例えば、文字列から日付に変換した値が日付型になっているか確認する場合は、IsDate関数を使って次のように書きます。

サンプルコード:

実行結果:

IsDate(CDate(str1))」で変換した文字列が日付型になっているか確認してから、変換した結果を出力するサンプルです。

このように、簡単に型をチェックすることができます。

ちなみに、数値型をチェックするIsNumeric関数については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】VBAで数値判定するためのIsNumeric関数の使い方とは
更新日 : 2019年9月1日

まとめ

今回は、VBAで型変換するためのキャストの使い方について解説しました。

型を変換して処理を進めていきたいケースはよくあります。

いきなりすべて覚えるのではなく「キャストで型変換ができる」とまずは覚えて、使うときにこの記事を見ればOKです。

使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説