• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL 数値と文字列の共存)

EXCEL 数値と文字列の共存

このQ&Aのポイント
  • EXCELで数値と文字列を共存させる方法について困っています。
  • ユーザーフォーム上のテキストボックスからセルに入力する際に、数値と文字列の両方を入力したいですが、エラーが出てしまいます。
  • if文を使用して数値の時はstr、文字列の時はvalというように処理する方法はありますが、もっと簡単な方法はないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

#1です。 > ダメでした。 そうですか、、、 該当のメッセージが出るExcel2003では問題無かったので、ちょっと原因が思いつきません。 TextBoxに数値を入れた場合、セルに代入される際にセルの書式設定が標準ならば数値型に変換されると思うのですが、、、 新規ブックで新規UserFormにTextBox1とCommandButton1を置いて試しても同じですか? Private Sub CommandButton1_Click()   Range("F2").NumberFormat = "General"   Range("F2").Value = TextBox1.Value End Sub 更には Private Sub CommandButton1_Click()   Range("F2").NumberFormat = "General"   Range("F2").Value = Trim(TextBox1.Value) End Sub のようにTrimを使っても同じですか?

angeldill
質問者

お礼

おおお!! 「Trim」です! 探していたコードはまさにこれです!! 一気に片付きましたO(≧▽≦)O ありがとうございます。

その他の回答 (2)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

#1です。 > セルの左寄りに表示され「!」でエラーが出ます。 エラーと言うより注意表示なのでしょうね。 何処かに非表示にする設定があると思いますけど、こちらの環境(Excel2000)では出ないので解りません。 Private Sub 入力_Click()   Range("F2").NumberFormat = "General"   Range("F2").Value = Text1.Value End Sub のようにするとどうでしょうか? --- コマンドボタン等のオブジェクト名や変数には出来るだけ日本語を使わない方が無難です。 予期せぬ不具合が出る可能性がありますので。

angeldill
質問者

お礼

ありがとうございます^^ Private Sub 入力_Click()   Range("F2").NumberFormat = "General"   Range("F2").Value = Text1.Value End Sub はダメでした。 >エラーと言うより注意表示なのでしょうね。 >何処かに非表示にする設定があると思いますけど、こちらの環境(Excel2000)では出ないので解りません。 これは確かに有効なんですけどこのファイルじたい サーバーで共有して会社内全体で使いたいので全員分設定 変えなくちゃいけないのがネックです(>_<)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ご質問を良く理解出来ませんでした。 > 「数値が文字列として入力されています」 > とエラーが出てしまします。 これはどんな状況で出るメッセージなのでしょう? Excelのバージョンによるものなのかな? Excelのバージョンとシート構成やUserFormの構成、書かれているコードを掲示された方が良いかも。

angeldill
質問者

補足

すいません!補足します^^; EXCELのバージョンはXPで ユーザーフォームにテキストボックス(text1)とコマンドボタン(入力) の2つがある状態 Private Sub 入力_Click() Range("F2").Select ActiveCell = Text1 End Sub っとコードを書いた場合です。 これだとF2セルに「485768」のようなは入るは入るのですが セルの左寄りに表示され「!」でエラーが出ます。 「このセルにある数値がテキスト形式、またはアポストロフィで始まっています」 っと言う内容です。 そこで ActiveCell = Val(Text1) にすると「485768」は無事数字として入力されるのですが 「3RD-544」は「3」しか入力されません。 なので ActiveCell = str(Text1) にしてみても上記と一緒でやっぱりだめです。 要するに「485768」も「3RD-544」エラーが出る事無く 入力出来る用になりたいのです。 どうにかなりませんでしょうか?

関連するQ&A

専門家に質問してみよう