カテゴリー
VBA

VBAでハッシュテーブルを実装する

ハッシュテーブルは、キーと値の組み合わせを複数個格納して、キーを使って素早く値を取り出すデータ構造です。

これをVBAで実装する方法を紹介します。

0. ハッシュテーブルを使うと、どんなメリットがあるの?

コード量が少なくなり、処理速度が早くなるかもしれません。たとえば、

Type KeyValueType
    Key As String
    Value As String
End Type

Dim KeyValue() As KeyValueType

こんな変数があったとして、KeyをベースにValueを取得する場合、配列だと添字の最初から最後までループでまわしてIF文で判定するようなロジックが考えられますが、ハッシュテーブルを使うと1行で実装できます。

1. ハッシュテーブルオブジェクトの定義

VBAでハッシュテーブルを実装するには、Scripting.Dictionary オブジェクトを使用します。

Dim HashTable            As Object
Set HashTable = CreateObject("Scripting.Dictionary")

2. Add メソッドで値を登録

Add メソッドを使用してハッシュテーブルに値を登録します。

HashTable.Add Key, Value

Key と Value を引数にセットして、ハッシュテーブルに登録します。

HashTable.Add “Apple”, “100”

このようにすると、「Apple」というキーで「100」という値をハッシュテーブルに格納します。

3. ハッシュテーブルから値を取得する

Value = HashTable(Key)

キーを引数にとって値を返します。簡単ですね。

Value = HashTable(“Apple”)

このようにすると、Valueには先ほど登録した「100」がセットされます。

4. キーの存在チェック existsメソッド

If HashTable.exists(key) Then
    '存在する
Else
    '存在しない
End If

Existsメソッドの引数にキーをセットして呼び出すと、存在チェックができます。

HashTable.exists(“Apple”)

このようにすると、”Apple”はキーとして登録済みですので、Trueが返ります。

5. 公式ドキュメント

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/dictionary-object

カテゴリー
VBA

【VBA】 すぐに使える!プログラム作業を効率化できる Useful Edge VBA 共通クラス

仕事で VBA の開発を頻繁に行っており、いい加減コーディングするのが嫌になってきました。
一度書いたコードを何度も書くのは疲れましたので、クラス化しました。

Excel でも Access でも VBA で共通的に使える Useful Edge VBA 共通クラスを紹介します。

1. ダウンロード

以下からダウンロードが可能です。

UEVBACommonClass.cls

2. 使い方

1. 以下のリンクからクラスファイルをダウンロードします。

UEVBACommonClass.cls

2. VBA 開発画面を開きます。

3. ファイルのインポート画面から、ダウンロードしたクラスファイルを開きます。

4. プロジェクトツリーのクラスモジュールに「UEVBACommonClass」が登録されたことを確認します。

5. オブジェクトを生成して使用します。

3. UEVBA Common クラスメソッド

1. 月を英語読みに変換する FNCMonthNum2Str_English

引数に 1 を与えると January 、 2 を与えると February のように、月の数字を
英語に変換する関数です。

【VBA】月の数字を英語表記に変換する | Useful Edge.com

2. 月をスペイン語読みに変換する FNCMonthNum2Str_Spanish

引数に 1 を与えると Enero 、 2 を与えると Febrero のように、月の数字を
スペイン語に変換する関数です。

【VBA】月の数字をスペイン語読みに変換する | Useful Edge.com

3. 英語読みの月を数字に変換する FNCMonthStr2Num_English

引数に January を与えると 01 、 February を与えると 02 のように、
月の英語を数字に変換する関数です。

【VBA】英語読みの月を数字に変換する

4. スペイン語読みの月を数字に変換する FNCMonthStr2Num_Spanish

引数に Enero を与えると 01 、 Febrero を与えると 02 のように、月のスペイン語を数字に変換する
関数です。

【VBA】スペイン語読みの月を数字に変換する

5. 名前をつけて保存ダイアログを使用してファイルパスを取得する FNCGetSaveAsFilePath

名前をつけて保存ダイアログを表示してファイルパスを取得する関数です。

【VBA】名前をつけて保存ダイアログを使用してファイルパスを取得する

6. ファイルを開くダイアログを使用してファイルパスを取得する FNCGetOpenFilePath

ファイルを開くダイアログを表示して、ファイルパスを取得する関数です。
1ファイルのみ選択可能です。

【VBA】 ファイルを開くダイアログを使用してファイルパスを取得する

7. ファイルを開くダイアログを使用して複数ファイルパスを取得する FNCGetOpenFilePathMulti

ファイルを開くダイアログを表示して、ファイルパスを取得する関数です。
複数ファイルを選択可能です。

【VBA】 ファイルを開くダイアログを使用して複数ファイルパスを取得する

8. フォルダを開くダイアログを使用してフォルダフルパスを取得する FNCGetFolderPath

フォルダを開くダイアログを表示して、フォルダパスを取得する関数です。

【VBA】 フォルダを開くダイアログを使用してフォルダフルパスを取得する

9. 現在日付を YYYYMMDD 形式で取得する FNCGetYYYYMMDD

現在日付を YYYYMMDD 形式で取得する関数です。

【VBA】 現在日付を YYYYMMDD 形式で取得する

10. 現在日付の年を YYYY 形式で取得する FNCGetYYYY

現在日付の年を YYYY 形式で取得する関数です。

【VBA】 現在日付の年を YYYY 形式で取得する

11. 現在時刻を HH24MISS 形式で取得する FNCGetHH24MISS

現在時刻を HH24MISS 形式で取得する関数です。

【VBA】 現在時刻を HH24MISS 形式で取得する

12. 入力チェック NullEmpty判定 FNCisNullEmpty

引数に与えられた変数が Null または Empty の場合に True 、 どちらでもない場合に False を返す関数です。

【VBA】 Null または Empty を判定する

13. 入力チェック Numeric判定 FNCisNumeric

引数に与えられた変数が 数値 の場合に True 、 数値ではない場合に False を返す関数です。

【VBA】 数値かどうか を判定する

14. 入力チェック Date判定 FNCisDate

引数に与えられた変数が 日付型データの場合に True 、 日付型データではない場合に False を返す関数です。

【VBA】 Date型かどうか を判定する

15. 入力チェック Array判定 FNCisArray

引数に与えられた変数が 配列型 の場合に True 、 配列型ではない場合に False を返す関数です。

【VBA】 配列型かどうか を判定する

16. 文字数取得 FNCGetLetterLength

文字数をカウントする関数です。全角文字も1文字としてカウントします。

【VBA】 文字数を取得する

17. 文字列バイト数取得 FNCGetLetterLengthByte

引数に与えられた文字のバイト数をカウントする関数です。全角文字は2バイト、半角文字を1バイトとしてカウントします。

【VBA】 文字列のバイト数を取得する

18. 特殊フォルダパスを取得する FNCGetSpecialFolderPath

デスクトップやマイドキュメントなど、特殊フォルダパスを取得する関数です。

【VBA】 特殊フォルダパスを取得する

19. 既定のプログラムでファイルを開く FNCOpenFileUsingDefaultApp

既定のプログラムでファイルを開く関数です。

【VBA】 既定のプログラムでファイルを開く

20. フルパスからフォルダパスを取得する FNCFullPathToFolderPath

フルパスからフォルダパスのみを抽出します。

【VBA】 フルパスからフォルダパスを抽出する

21. フルパスからファイル名を取得する FNCFullPathToFilePath

フルパスからファイル名のみを抽出します。

【VBA】 フルパスからファイル名を取得する

22. フルパスから拡張子を取得する FNCFullPathToExtName

フルパスから拡張子のみを抽出します。

【VBA】 フルパスから拡張子を取得する

23. フルパスからファイル種類名称を取得する FNCFullPathToFileTypeName

フルパスからファイル種類名を取得します。

【VBA】 フルパスからファイル種類名称を取得する

24. Outlookメールを作成する FNCCreateOutlookMail

Outlook メールを作成して表示します。

【VBA】 Outlookメールを作成して表示する

25. Outlookメールを作成して下書きに保存する FNCCreateOutlookDraftMail

Outlook メールを作成して下書きに保存します。

【VBA】 Outlookメールを作成して下書きに保存する

4. UEVBA Common プロパティ

1. ReturnNomal

  • 型:Integer 型。
  • 値:0
  • ReadOnly

正常終了時のリターンコードを表します。

2. ReturnWarning

  • 型:Integer 型。
  • 値:1
  • ReadOnly

警告終了時のリターンコードを表します。

3. ReturnError

  • 型:Integer 型。
  • 値:4
  • ReadOnly

異常終了時のリターンコードを表します。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】 既定のプログラムでファイルを開く

指定したファイルを既定のプログラムで開く関数です。

関数概要

  • 関数名: FNCOpenFileUsingDefaultApp
  • 入力引数; P_IN_FilePath ( String 型 ) : 開くファイルのフルパスを指定します。
  • 出力引数: ありません。
  • 返り値:リターンコードが返却されます。

実行例

  • 準備中

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法

  • 準備中

ソースコード


'-----------------------------------------------------------------
' 既定のプログラムでファイルを開く
'-----------------------------------------------------------------
Function FNCOpenFileUsingDefaultApp(P_IN_FilePath As String) As Integer
On Error GoTo ErrorHandler
    FNCOpenFileUsingDefaultApp = Me.ReturnError
    Dim WSH
    Set WSH = CreateObject("Wscript.Shell")
    WSH.Run Chr(34) & P_IN_FilePath & Chr(34), 3
    Set WSH = Nothing
    FNCOpenFileUsingDefaultApp = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical & vbOKOnly, "エラー"
    FNCOpenFileUsingDefaultApp = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】スペイン語読みの月を数字に変換する

英語読みの月を数字に変換する関数です。 「 Enero 」のとき「01」、「 Febrero 」のとき「02」のように
変換します。

関数概要

  • 関数名: FNCMonthStr2Num_Spanish
  • 入力引数; P_IN_MonthStr : 月を表すスペイン語。 Enero, Febrero, …
  • 出力引数: P_OUT_MonthNumber : 1 や 2 など、月の数字が設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • P_IN_MonthStr = Enero のとき、 P_OUT_MonthNumber = 01 が返却されます。
  • P_IN_MonthStr = Febrero のとき、 P_OUT_MonthNumber = 02 が返却されます。

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法


    Dim UEVBA as UEVBACommonClass
    UEVBA = new UEVBACommonClass
    Dim MonthNumber As String
    If UEVBA.FNCMonthStr2Num_Spanish("Enero", MonthNumber) <> UEVBA.ReturnNormal Then
        Err.Raise Number:=8, Description:="FNCMonthStr2Num_Spanish Error"
    End If
    MsgBox(MonthNumber)

ソースコード


'-----------------------------------------------------------------
' スペイン語読みの月を数字に変換する
'-----------------------------------------------------------------
Function FNCMonthStr2Num_Spanish(P_IN_MonthStr As String, P_OUT_MonthNumber As String) As String
On Error GoTo ErrorHandler
    FNCMonthStr2Num_Spanish = Me.ReturnError
    P_OUT_MonthNumber = "00"
    Select Case P_IN_MonthStr
        Case "Enero"
            P_OUT_MonthNumber = "01"
        Case "Febrero"
            P_OUT_MonthNumber = "02"
        Case "Marzo"
            P_OUT_MonthNumber = "03"
        Case "Abril"
            P_OUT_MonthNumber = "04"
        Case "Mayo"
            P_OUT_MonthNumber = "05"
        Case "Junio"
            P_OUT_MonthNumber = "06"
        Case "Julio"
            P_OUT_MonthNumber = "07"
        Case "Agosto"
            P_OUT_MonthNumber = "08"
        Case "Septiembre"
            P_OUT_MonthNumber = "09"
        Case "Octubre"
            P_OUT_MonthNumber = "10"
        Case "Noviembre"
            P_OUT_MonthNumber = "11"
        Case "Diciembre"
            P_OUT_MonthNumber = "12"
    End Select
    If P_OUT_MonthNumber = "00" Then
        FNCMonthStr2Num_Spanish = Me.ReturnWarning
        End
    End If
    FNCMonthStr2Num_Spanish = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCMonthStr2Num_Spanish = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】英語読みの月を数字に変換する

英語読みの月を数字に変換する関数です。 「January」のとき「01」、「February」のとき「02」のように
変換します。

関数概要

  • 関数名: FNCMonthStr2Num_English
  • 入力引数; P_IN_MonthStr : 月を表す英語。 January, Feburary, …
  • 出力引数: P_OUT_MonthNumber : 1 や 2 など、月の数字が設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • P_IN_MonthStr = January のとき、 P_OUT_MonthNumber = 01 が返却されます。
  • P_IN_MonthStr = February のとき、 P_OUT_MonthNumber = 02 が返却されます。

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法


    Dim UEVBA as UEVBACommonClass
    UEVBA = new UEVBACommonClass
    Dim MonthNumber As String
    If UEVBA.FNCMonthStr2Num_English("January", MonthNumber) <> UEVBA.ReturnNormal Then
        Err.Raise Number:=8, Description:="FNCMonthStr2Num_English Error"
    End If
    MsgBox(MonthNumber)

ソースコード


'-----------------------------------------------------------------
' 英語読みの月を数字に変換する
'-----------------------------------------------------------------
Function FNCMonthStr2Num_English(P_IN_MonthStr As String, P_OUT_MonthNumber As String) As Integer
On Error GoTo ErrorHandler
    FNCMonthStr2Num_English = Me.ReturnError
    P_OUT_MonthNumber = "00"
    Select Case P_IN_MonthStr
        Case "January"
            P_OUT_MonthNumber = "01"
        Case "February"
            P_OUT_MonthNumber = "02"
        Case "March"
            P_OUT_MonthNumber = "03"
        Case "April"
            P_OUT_MonthNumber = "04"
        Case "May"
            P_OUT_MonthNumber = "05"
        Case "June"
            P_OUT_MonthNumber = "06"
        Case "July"
            P_OUT_MonthNumber = "07"
        Case "August"
            P_OUT_MonthNumber = "08"
        Case "September"
            P_OUT_MonthNumber = "09"
        Case "October"
            P_OUT_MonthNumber = "10"
        Case "November"
            P_OUT_MonthNumber = "11"
        Case "December"
            P_OUT_MonthNumber = "12"
    End Select
    If P_OUT_MonthNumber = "00" Then
        FNCMonthStr2Num_English = Me.ReturnWarning
        End
    End If
    FNCMonthStr2Num_English = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCMonthStr2Num_English = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】月の数字をスペイン語読みに変換する

月をスペイン語表記に変換する関数です。「1」のとき「Enero」、「2」のとき「Febrero」のように
変換します。
子会社がメキシコにありスペイン語対応の一環で開発しました。

関数概要

  • 関数名:FNCMonthNum2Str_Spanish
  • 入力引数;P_IN_MonthNumber(月を表す数。1~12)
  • 出力引数:P_OUT_MonthStr:Enero や Febrero など、月を表すスペイン語が設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • P_IN_MonthNumber = 1 のとき、P_OUT_MonthStr = Enero が返却されます。
  • P_IN_MonthNumber = 2 のとき、P_OUT_MonthStr = Febrero が返却されます。

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法


    Dim UEVBA as UEVBACommonClass
    UEVBA = new UEVBACommonClass
    Dim NowMonth As String
    Dim MonthStr As String
    NowMonth = Month(Date)
    If UEVBA.FNCMonthNum2Str_Spanish(NowMonth, MonthStr) <> UEVBA.ReturnNormal Then
        Err.Raise Number:=8, Description:="FNCMonthNum2Str_Spanish Error"
    End If
    MsgBox(MonthStr)

ソースコード


'-----------------------------------------------------------------
' 月をスペイン語読みに変換する
'-----------------------------------------------------------------
Function FNCMonthNum2Str_Spanish(P_IN_MonthNumber As String, P_OUT_MonthStr As String) As String
On Error GoTo ErrorHandler
    FNCMonthNum2Str_Spanish = Me.ReturnError
    P_OUT_MonthStr = ""
    Select Case P_IN_MonthNumber
        Case 1
            P_OUT_MonthStr = "Enero"
        Case 2
            P_OUT_MonthStr = "Febrero"
        Case 3
            P_OUT_MonthStr = "Marzo"
        Case 4
            P_OUT_MonthStr = "Abril"
        Case 5
            P_OUT_MonthStr = "Mayo"
        Case 6
            P_OUT_MonthStr = "Junio"
        Case 7
            P_OUT_MonthStr = "Julio"
        Case 8
            P_OUT_MonthStr = "Agosto"
        Case 9
            P_OUT_MonthStr = "Septiembre"
        Case 10
            P_OUT_MonthStr = "Octubre"
        Case 11
            P_OUT_MonthStr = "Noviembre"
        Case 12
            P_OUT_MonthStr = "Diciembre"
    End Select
    If P_OUT_MonthStr = "" Then
        FNCMonthNum2Str_Spanish = Me.ReturnWarning
        Exit Function
    End If
    FNCMonthNum2Str_Spanish = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCMonthNum2Str_Spanish = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】 数値かどうか を判定する

引数で指定した変数が 数値かどうか を判定する関数です。

関数概要

  • 関数名: FNCisNumeric
  • 入力引数; P_IN_Value ( Variant 型 ) : 数値かどうか を判定する変数を指定します。
  • 出力引数: P_OUT_isNumeric ( Boolean 型) : 数値 のとき True が設定されます。数値ではない場合は False が設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • 準備中

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法

  • 準備中

ソースコード


'-----------------------------------------------------------------
' 入力チェック Numeric判定
'-----------------------------------------------------------------
Function FNCisNumeric(P_IN_Value As Variant, P_OUT_isNumeric As Boolean) As Integer
On Error GoTo ErrorHandler
    FNCisNumeric = Me.ReturnError
    If IsNumeric(P_IN_Value) Then
        P_OUT_isNumeric = True
    Else
        P_OUT_isNumeric = False
    End If
    FNCisNumeric = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCisNumeric = Err.Number
    Exit Function

End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】 Null または Empty を判定する

引数で指定した変数が Null または Empty を判定する関数です。

関数概要

  • 関数名: FNCisNullEmpty
  • 入力引数; P_IN_Value ( Variant 型 ) : Null または Empty を判定する変数を指定します。
  • 出力引数: P_OUT_isNullEmpty ( Boolean 型) : Null または Empty のとき True が設定されます。Null でも Empty でもない場合は False が設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • 準備中

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法

  • 準備中

ソースコード


'-----------------------------------------------------------------
' 入力チェック NullEmpty判定
'-----------------------------------------------------------------
Function FNCisNullEmpty(P_IN_Value As Variant, P_OUT_isNullEmpty As Boolean) As Integer
On Error GoTo ErrorHandler
    FNCisNullEmpty = Me.ReturnError
    If IsNull(P_IN_Value) Or IsEmpty(P_IN_Value) Then
        P_OUT_isNullEmpty = True
    Else
        P_OUT_isNullEmpty = False
    End If
    FNCisNullEmpty = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCisNullEmpty = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】 Date型かどうか を判定する

引数で指定した変数が 数値型かどうか を判定する関数です。

関数概要

  • 関数名: FNCisDate
  • 入力引数; P_IN_Value ( Variant 型 ) : Date型かどうか を判定する変数を指定します。
  • 出力引数: P_OUT_isDate ( Boolean 型) : Date型 のとき True が設定されます。Date型ではない場合は False が設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • 準備中

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法

  • 準備中

ソースコード


'-----------------------------------------------------------------
' 入力チェック Date判定
'-----------------------------------------------------------------
Function FNCisDate(P_IN_Value As Variant, P_OUT_isDate As Boolean) As Integer
On Error GoTo ErrorHandler
    FNCisDate = Me.ReturnError
    If IsDate(P_IN_Value) Then
        P_OUT_isDate = True
    Else
        P_OUT_isDate = False
    End If
    FNCisDate = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCisDate = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)

カテゴリー
VBA

【VBA】 配列型かどうか を判定する

引数で指定した変数が 配列型かどうか を判定する関数です。

関数概要

  • 関数名: FNCisArray
  • 入力引数; P_IN_Value ( Variant 型 ) : 配列型かどうか を判定する変数を指定します。
  • 出力引数: P_OUT_isArray ( Boolean 型) : 配列型 のとき True が設定されます。配列型ではない場合は False が設定されます。
  • 返り値:リターンコードが返却されます。

実行例

  • 準備中

ダウンロード

UsefulEdgeではよく使うVBA処理を共通クラスとして提供しています。

以下からダウンロードが可能です。

UEVBACommonClass.cls

使用方法

  • 準備中

ソースコード


'-----------------------------------------------------------------
' 入力チェック Array判定
'-----------------------------------------------------------------
Function FNCisArray(P_IN_Value As Variant, P_OUT_isArray As Boolean) As Integer
On Error GoTo ErrorHandler
    FNCisArray = Me.ReturnError
    If IsArray(P_IN_Value) Then
        P_OUT_isArray = True
    Else
        P_OUT_isArray = False
    End If
    FNCisArray = Me.ReturnNomal
    Exit Function
ErrorHandler:
    MsgBox Err.Number & ":" & Err.Description, vbCritical, "エラー"
    FNCisArray = Err.Number
    Exit Function
End Function

ソースコード説明

  • 準備中
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

ExcelVBAを実務で使い倒す技術 [ 高橋宣成 ]
価格:1944円(税込、送料無料) (2019/7/23時点)