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

  関連記事

データ型変換関数

データ型変換関数の使い方 【書式】 function ( expression …

ある数値が、複数の範囲のどの範囲に含まれるかを示す文字列を返す(Partition 関数)

Partition 関数 の使い方 Partition 関数は、ある数値が、区切 …

日付時刻:文字列から日付・時刻データを取得( DateValue 関数、TimeValue 関数 )

DateValue 関数(文字列から日付データを取得) 【書式】 date_va …

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

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

日付時刻:時・分・秒を取得(Hour、Minute、Second 関数)

日付時刻から時・分・秒を取得する関数 【書式】 time_hour = Hour …

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

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

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

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

取り消し線を設定する(Strikethrough プロパティ)

取り消し線を設定する(Strikethrough プロパティ) Striketh …

上付き文字・下付き文字(Superscript,Subscript)

上付き文字(Superscript プロパティ) Superscript プロパ …

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

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