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

サイト管理人 へ返信する コメントをキャンセル

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

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

  関連記事

ADO Stream オブジェクト テキスト(UTF-8)読み込み
テキストファイル(UTF-8)を読み込み、書き出し(ADODB.Stream)

Stream オブジェクト ADO(ActiveX Database Objec …

Chr 関数 例
文字列:指定した文字コードに対応する文字を返す(Chr 関数)

Chr 関数の使い方 【書式】 result = Chr ( code ) 引数 …

引数の整数部分を取得する(Fix 関数・Int 関数)

Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …

Randomize 関数 例1
乱数ジェネレータを初期化 (乱数系列を再設定) する(Randomize ステートメント)

Randomize ステートメントの使い方 Rnd 関数 を使用する前に使用しま …

配列(宣言・要素数の変更について)

配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 …

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

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

定数(改行・タブ) 使用例
文字列:定数(改行・タブ)

改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …

現在の日付時刻を取得する
日付時刻:現在の日付・時刻を取得・設定(Now、Date、Time)

現在の日付・時刻を取得・設定 現在の日付・時刻を取得(Now 関数、Date 関 …

no image
xlFileFormat 列挙型

xlFileFormat 列挙型 Workbook.SaveAs メソッド の引 …

フォントサイズ(Size,StandardFontSize)例
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)

フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …