変数のデータ型・宣言(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 ステートメントで定義されたデータ型 |
関連記事
-
色の設定(Color プロパティ・RGB 関数)
Color プロパティ Color プロパティは、指定したオブジェクトの色を取得 …
-
Array 関数(バリアント型の配列を作成)
Array 関数の使い方 【書式】 myArray = Array ( elem …
-
インプットボックスを表示する(InputBox関数・InputBoxメソッド)
「InputBox関数」と「InputBoxメソッド」の違い 「InputBox …
-
オートシェイプの種類を表す定数(MsoAutoShapeType 列挙型)
MsoAutoShapeType 列挙型 オートシェイプオブジェクトの図形の種類 …
-
ユーザー定義関数:自動再計算関数の設定(Volatile メソッド)
ユーザー定義関数で、自動再計算を行うかどうかを設定する ワークシート上で使用する …
-
文字列:文字列変数内の一部を置き換える(Mid・MidB ステートメント)
Mid・MidB ステートメントの使い方 【書式】 { Mid | MidB } …
-
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)
フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …
-
変数がオブジェクト型かどうかをチェックする( IsObject 関数 )
IsObject 関数の使い方 【書式】 result = IsObject ( …
-
画面の更新を停止(ScreenUpdating プロパティ)
画面の更新を停止 マクロを実行すると、画面が更新されます。これにより、実行速度が …
-
変数が数値型かどうかをチェックする( IsNumeric 関数 )
IsNumeric 関数の使い方 【書式】 result = IsNumeric …
- 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