いけず言葉しりとり

ユーザーフォームTextboxに数値を入力して保存すると対象になるセルの左横に!がついてこのセルにある数値がテキスト形式かアポストロフィーで始まる・・・・と出ます。
そのセルを書式設定で数値にすれば直るのですがユーザーフォームをたちあげてもう一度保存をすると同じようになります。
セルに数値を入力しエラーにならないようにしたいのですが方法を教えて下さい。

A 回答 (1件)

テキストボックスは文字通り「テキスト(文字列)を入力する領域」ですから、


ここに数字を打ち込んでも「文字列」として扱われてしまいますね。

回避するために一番手っ取り早いのは

    Range("A1") = TextBox1 * 1

などとし、数値に変換してやる方法です。


ただしこの場合、
テキストボックスに「数値として認識できない値」が入ってくるとエラーが出ますので、
この対策も必要です。
簡単にわかりやすく書いてやるとすると

    If IsNumeric(TextBox1) Then
        Range("A1") = TextBox1 * 1
    Else
        Range("A1") = TextBox1
    End If

こんな感じにしておけばOKですね。
    • good
    • 2
この回答へのお礼

一生懸命調べたのですがなかなか判らなく困っていました。
簡単でそのまま使えそうなコードありがとうございました。

お礼日時:2013/07/12 13:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A