• ベストアンサー

大文字に変換

お世話になります。 テキストボックスで文字を入力し、その文字を 大文字にしたいのですが、下記記述でエラーが でます。 どの様に記述するべきでしょうか。         記 Private Sub CommandButton1_Click() StrConv (textbox1.Value, vbUpperCase)   ←ここが赤文字になる Sheets("結果").Range("a2") = TextBox1.Value Unload Me End Sub

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

解決しているようですが、今後ため簡単な解説です VBAの文法は、基本的に左側に結果(例外もありますが)がきます 普通は 1+1=2 ですが VBA的には 2=1+1 となります あと、関数(コマンド)ですが、算数的には公式と思って、ほぼ間違いありません 例えば、四角形の面積を求める公式は、たて×よこ これを、VBA的に表すと、四角形の面積(たて,よこ)のようになります 上記を踏まえて、今回の質問を見ますと >StrConv (textbox1.Value, vbUpperCase) に、エラーとの事ですが 先ほどの説明から、簡単な式に直すと A*B と成ってしまいます これは、VBAの文法では、計算結果の出力先が無いのでエラーに成ります では、これを成立させるために出力先を作ります C=A*B これで、エラーが回避できました これからが本題です StrConv (textbox1.Value, vbUpperCase) ですが、今までの説明で、エラーの原因が分かってもらえたのではないでしょうか textbox1.Value=StrConv (textbox1.Value, vbUpperCase) と、出力先を textbox1.Value とすることで、エラーの回避となり、また textbox1.Value の値が StrConv によって変化する様子が分かっていただけるかと思います 分かりにくい説明を長々失礼しました

miruchoko
質問者

お礼

大変分かりやすいご説明感謝いたします。 ありがとうございます。

その他の回答 (1)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

Sheets("結果").Range("A2").Value = StrConv(TextBox1.Value, vbUpperCase) では?

miruchoko
質問者

お礼

ありがとうございました。 解決致しました。

関連するQ&A

専門家に質問してみよう