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

  関連記事

Const ステートメント
ユーザー定義定数(Const ステートメント)

定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …

文字列:文字列を指定した形式に変換する(StrConv 関数)

StrConv 関数の使い方 【書式】 result = StrConv ( s …

文字列:アルファベットを小文字または大文字に変換(LCase 関数,UCase 関数)

LCase 関数・UCase 関数 の使い方 【書式】 <アルファベットの大文字 …

文字列:文字を指定数並べた文字列を返す(String 関数)

String 関数 【書式】 result = String ( number, …

固定長形式で分割(TextToColumns メソッド)
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)

固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …

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

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

InStrRev 関数
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)

InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …

ThisCell プロパティ
ユーザー定義関数:セルを取得する(ThisCell プロパティ)

入力されたセルを取得する ワークシート上で使用する Function プロシージ …

文字に下線を設定する(Underline プロパティ)

下線を設定(Underline プロパティ) Underline プロパティは、 …

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

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