ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

変数のデータ型・宣言(Dim ステートメント)

      2016/02/05

変数の宣言

一般的な方法

【書式】
Dim varname [ As type, …… ]
  • varname ・・・ 変数名
  • type       ・・・ データ型(Integer, Long, Date, String 等)

「type」は省略可能。省略した場合は、バリアント型(Variant)になります。


省略記号を使用する

【書式】
Dim varname<ellipsis>
  • varname ・・・ 変数名
  • <ellipsis>・・・ 省略記号(% & @ $ 等)



データ型一覧


データ型 意味 サイズ・データの内容 省略記号
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基本 , ,

Comment

  1. 石川成美 より:

    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()

      Dim ans As String
      ans = InputBox("顧客がファイルを作成した年月日をYYYY/MM/DD形式で入力してください", "")
      If StrPtr(ans) = 0 Then MsgBox ("キャンセルしました")
      If IsDate(ans) Then
      Sheets("納期回答調査最終").Range("A1") = ans
      Else
      MsgBox "入力形式が違います"
      End If

      End Sub

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

メッセージボックス使用例
メッセージボックスを表示(MsgBox関数)

MsgBox関数 【書式】 result = MsgBox ( Prompt [ …

フォント名(Name,ThemeFont,StandardFont) 例
フォント名(Name,ThemeFont,StandardFont)

フォント名を取得・設定する(Name プロパティ) Name プロパティは、オブ …

IMEStatus 関数 例
IME の現在の状態を取得します(IMEStatus 関数)

IMEStatus 関数の使い方 【書式】 result = IMEStatus …

文字列:文字列の指定した位置から指定文字数取得(Mid 関数,MidB 関数)

Mid 関数・MidB 関数 の使い方 【書式】 result_mid = Mi …

Timer 関数 使用例
日付時刻:経過時間を取得( Timer 関数 )

Timer 関数の使い方 【書式】 result = Timer () 【戻り値 …

変数がEmpty 値かどうかをチェックする( IsEmpty 関数 )

IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …

Spc 関数 01
指定した数のスペースを挿入する(Spc 関数)

指定した数のスペースを挿入 指定した数のスペースを挿入するには、Spc 関数を使 …

書式を変換(Format 関数)

Format 関数の使い方 【書式】 result = Format ( exp …

乱数(Rnd 関数)例1
乱数を生成する(Rnd 関数)

Rnd 関数の使い方 Rnd 関数は、0 以上、1 未満の範囲の乱数を単精度浮動 …

式を評価し、結果(真・偽)に応じた式・値を返す(IIf 関数)

IIf 関数 の使い方 IIf(アイイフ)関数は、式を評価してその結果(真・偽) …