変数のデータ型・宣言(Dim ステートメント)
2016/02/05
変数の宣言
一般的な方法
【書式】
Dim varname [ As type, …… ]
Dim varname [ As type, …… ]
- varname ・・・ 変数名
- type ・・・ データ型(Integer, Long, Date, String 等)
「type」は省略可能。省略した場合は、バリアント型(Variant)になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
'整数型 Dim num As Integer 'xnum:長整数型、ynum:倍精度浮動小数点型 Dim xnum As long, ynum As Double 'A、B:バリアント型、C:可変長文字列型 Dim A, B, C As String '固定長文字列型 Dim varstr As String * 10 |
省略記号を使用する
【書式】
Dim varname<ellipsis>
Dim varname<ellipsis>
- varname ・・・ 変数名
- <ellipsis>・・・ 省略記号(% & @ $ 等)
1 2 3 4 5 6 7 8 |
'num:整数型、str:可変長文字列型 Dim num%, str$ 'kingaku:通貨型 Dim kingaku@ |
データ型一覧
データ型 | 意味 | サイズ・データの内容 | 省略記号 |
Boolean | ブール型 | [2バイト] true(真)-1 / false(偽)0 | |
Byte | バイト型 | [1バイト] 正の整数(0~255) | |
Integer | 整数型 | [2バイト] 整数(-32768~32767) | % |
Long | 長整数型 | [4バイト] 整数(-2147483648~2147483647) | & |
Currency | 通貨型 | [8バイト] -922,337,203,685,477.5808 ~ 922,337,203,685,477.5807の固定小数点数 | @ |
Single | 単精度浮動 小数点数型 |
[4バイト] -3.402823E38 ~ -1.401298E-45 (負の値) 1.401298E-45 ~ 3.402823E38 (正の値) |
! |
Double | 倍精度浮動 小数点数型 |
[8バイト] -1.79769313486232E308 ~ -4.94065645841247E-324 (負の値) 4.94065645841247E-324 ~ 1.79769313486232E308 (正の値) |
# |
Date | 日付型 | [8バイト] 西暦100年1月1日0:00:00 ~ 西暦9999年12月31日23:59:59 |
|
String | 可変長 文字列型 |
任意の長さの文字列 | $ |
String * length | 固定長 文字列型 |
長さ length の文字列 | |
Object | オブジェクト型 | [4バイト] オブジェクト | |
Variant | バリアント型 | ||
Type | ユーザー定義型 | Type ステートメントで定義されたデータ型 |
関連記事
-
VBA の演算子(文字連結演算子:& 演算子 + 演算子)
文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …
-
変数が日付型かどうかをチェックする( IsDate 関数 )
IsDate 関数の使い方 【書式】 result = IsDate( expr …
-
文字列:文字列右から指定文字数取得(Right 関数,RightB 関数)
Right 関数・RightB 関数 の使い方 【書式】 result_righ …
-
ショートカットメニュー(CommandBar オブジェクト)
ショートカットメニュー(コンテキストメニュー) 右クリックで表示されるメニューの …
-
VBA で正規表現を使う(RegExp オブジェクト)
RegExp オブジェクト VBA で正規表現を使うには、VBScript のR …
-
文字列:文字列の一部を別の文字列で置換(Replace 関数)
Replace 関数の使い方 【書式】 result = Replace ( s …
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
-
指定した値を8進数で表記した文字列に変換する(Oct 関数)
Oct 関数 の使い方 【書式】 result = Oct ( expressi …
-
ユーザー定義関数:セルを取得する(ThisCell プロパティ)
入力されたセルを取得する ワークシート上で使用する Function プロシージ …
-
文字列:指定した数の空白(スペース)からなる文字列を返す(Space 関数)
Space 関数 【書式】 result = Space ( number ) …
- PREV
- VBAの変数宣言
- NEXT
- メッセージボックスを表示(MsgBox関数)
Comment
VBA初心者です
インプットBOXにユーザーが入力した日付をセルA1に日付として出力したいのですが、
下記コードでは 型が一致しません というメッセージが帰ってきてうまくいきません。
どこがいけないのかいくら考えてもわかりません。どなたかアドバイスいただけますよう、
お願い申し上げます。
Sub Auto_Open()
Dim ans As Date
ans = InputBox(“顧客がファイルを作成した年月日をYYYY/MM/DD形式で入力してください”, “”)
If ans “” Then
Sheets(“納期回答調査最終”).Range(“A1”).Date = ans
End If
End Sub
コメントありがとうございます
こんな感じでどうでしょうか?
Sub Auto_Open()
End Sub