変数のデータ型・宣言(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 ステートメントで定義されたデータ型 |
関連記事
-
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)
InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …
-
指定した数値を文字列に変換する(Str 関数)
Str 関数 の使い方 Str 関数は、数値・数式を文字列に変換して返す関数です …
-
ユーザー設定リストを使って並べ替える(Sort)
VBAでリスト、テーブルを並べ替える(Sort) VBAで、ソートを行うには、S …
-
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)
RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …
-
変数が配列かどうかをチェックする( IsArray 関数 )
IsArray 関数の使い方 【書式】 result = IsArray( va …
-
配列(宣言・要素数の変更について)
配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 …
-
ユーザー定義関数:セルを取得する(ThisCell プロパティ)
入力されたセルを取得する ワークシート上で使用する Function プロシージ …
-
インプットボックスを表示する(InputBox関数・InputBoxメソッド)
「InputBox関数」と「InputBoxメソッド」の違い 「InputBox …
-
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)
RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …
-
文字列:文字列の一部を別の文字列で置換(Replace 関数)
Replace 関数の使い方 【書式】 result = Replace ( s …
- 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