教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA プログラミング】(関数33)CStr関数のプログラミング例を教えて!

       f:id:m_kbou:20201022085741p:plain

CStr関数を使用したプログラミング例を紹介します。

 

【目次】

 

例題

例題は、<実行>ボタンをクリックすると、値列に入力されている2行目の数値を文字列に変換、3行目の数値を数値のまま、4行目の日付を文字列に変換、5行目の日付を日付のままとし、データの型を結果列に返すプログラミング方法です。

[実行前]:

f:id:m_kbou:20201022085756p:plain

[実行後]:

f:id:m_kbou:20201022085808p:plain

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。また、ボタンにプログラム内容を割り当てるには、VBAをボタンに割り当てるを参考にして下さい。

-------------------------------------------------

Sub サンプル()

    Dim 行 As Double
    Dim 値
   
    For 行 = 2 To 5
       
        Select Case 行
            Case 2
                値 = CStr(Range("A" & 行))
            Case 4
                値 = CStr(Range("A" & 行))
            Case Else
                値 = Range("A" & 行)
        End Select
       
        Select Case VarType(値)
            Case 0
                Range("B" & 行) = "Empty値です。"
            Case 1
                Range("B" & 行) = "Null値です。"
            Case 2
                Range("B" & 行) = "整数型です。"
            Case 3
                Range("B" & 行) = "長整数型です。"
            Case 4
                Range("B" & 行) = "単精度浮動小数点数型です。"
            Case 5
                Range("B" & 行) = "倍精度浮動小数点数型です。"
            Case 6
                Range("B" & 行) = "通貨型です。"
            Case 7
                Range("B" & 行) = "日付型です。"
            Case 8
                Range("B" & 行) = "文字列型です。"
            Case 9
                Range("B" & 行) = "オブジェクト型です。"
            Case 10
                Range("B" & 行) = "エラー値です。"
            Case 11
                Range("B" & 行) = "ブール型です。"
            Case 12
                Range("B" & 行) = "バリアント型です。"
        End Select
    Next
   
End Sub

-------------------------------------------------

内容を説明すると、

CStr関数を使用して値列(A列セル)に入力されている2行目の数値を文字列に変換、3行目の数値を数値のまま、4行目の日付を文字列に変換、5行目の日付を日付のままとし、Vartype関数を使用してデータの型を結果列(B列セル)に表示して下さい。

との意味になります。

 

ダウンロード

上記サンプルプログラムを使用したい場合は、こちらからダウンロードして下さい。

1drv.ms