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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

Dictionary オブジェクト 使用例1
連想配列(Dictionary オブジェクト)

連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …

配列(多次元配列・配列の次元の変更)

多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …

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

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

Resize プロパティ1
指定したセル範囲のサイズを変更(Resize プロパティ)

Resize プロパティ 指定したセル範囲のサイズ(行数や列数)を変更します。 …

UBound LBound 関数 使用例01
配列の要素数を取得する(UBound 関数・LBound 関数)

UBound 関数・LBound 関数 【書式】 result = UBound …

TextToColumns メソッド
セルのデータを区切り文字で複数のセルに分割する(TextToColumns メソッド)

TextToColumns メソッド TextToColumns メソッドを使用 …

四捨五入・切り上げ・切り捨て・丸め(Round 関数 他)

Round 関数(丸め)の使い方 【書式】 value = Round ( ex …

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

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

色の設定(Color プロパティ・RGB 関数)

Color プロパティ Color プロパティは、指定したオブジェクトの色を取得 …

VBA の演算子(文字連結演算子:& 演算子 + 演算子)

文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …