教えて!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

 

プログラミング

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

[記述例]:

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列セル)に表示して下さい。

との意味になります。

f:id:m_kbou:20210215070846p:plain

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

 

ダウンロード

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com