変数のデータ型・宣言(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 ステートメントで定義されたデータ型 |
関連記事
-
-
引数の整数部分を取得する(Fix 関数・Int 関数)
Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …
-
-
日付時刻:年・月・日を取得(Year、Month、Day 関数)
日付から年・月・日を取得する関数 【書式】 date_year = Year ( …
-
-
対象のオブジェクトをクリアする(Clear メソッド)
Clear メソッド 対象となるオブジェクト全体をクリアします。Range オブ …
-
-
変数が数値型かどうかをチェックする( IsNumeric 関数 )
IsNumeric 関数の使い方 【書式】 result = IsNumeric …
-
-
IME の現在の状態を取得します(IMEStatus 関数)
IMEStatus 関数の使い方 【書式】 result = IMEStatus …
-
-
Array 関数(バリアント型の配列を作成)
Array 関数の使い方 【書式】 myArray = Array ( elem …
-
-
指定したセル範囲のサイズを変更(Resize プロパティ)
Resize プロパティ 指定したセル範囲のサイズ(行数や列数)を変更します。 …
-
-
文字列:指定した文字コードに対応する文字を返す(Chr 関数)
Chr 関数の使い方 【書式】 result = Chr ( code ) 引数 …
-
-
ポイント単位の値に変換(CentimetersToPoints,InchesToPoints)
CentimetersToPoints メソッド センチメートル単位の値をポイン …
-
-
文字列:文字列右から指定文字数取得(Right 関数,RightB 関数)
Right 関数・RightB 関数 の使い方 【書式】 result_righ …
- 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