|
▼八家九僧陀 さん:
>現在 TextBox1に入力してシートに転記すると、文字列として入力されてしまいます。
>それを数値データとして、あるいは日付データとして利用したいのですが・・・
>
>数値型の場合
>Dim myKei as integer
>myKei = TextBox1.Value
>
>日付型の場合
>Dim myKei as date
>myKei = TextBox1.Value
>
>と変数宣言すれば解決するのでしょうか。
>
質問はご自分で試してみれば分かることですよね?
Range("A1").Value = TextBox1.Text
Range("A2").Value = TextBox2.Text
TextBoxのテキストは文字列です。
ただし、現在のVBA(というかExcelは)はセルに代入するとき、
テキストを解釈してくれ、
数値であればセルに貼り付いた途端に数値型(Double型)で代入してくれます。
また、日付けと解釈できれば、日付型(Date型)でセルに格納してくれます。
Excelのこの解釈がときおり「要らんお世話」になる時があります。
「1-2」などが日付けと解釈されることがある。
暗黙の型変換を許さない他言語では、自前で型キャストを行う
必要があります。これをVBAで書くと、以下のような書き方です。
If IsNumeric(TextBox1.Text) Then
Range("B1").Value = Val(TextBox1.Text)
End If
If IsDate(TextBox2.Text) Then
Range("B2").Value = CDate(TextBox2.Text)
End If
|
|