- ベストアンサー
ユーザーフォームの入力時のマクロについて
- Windows7 excell2010でのVBAについての質問です。参照図にあるUserForm1に入力する際に、日付、顧客名、売上のIMEの設定を自動的に行いたいです。
- 質問者はWindows7とExcel 2010を使用しており、VBAについて勉強中です。UserForm1に入力する際に、日付、顧客名、売上のIMEを自動的に設定するマクロの記述方法を教えていただきたいと思っています。
- Windows7とExcel 2010を使用している質問者は、VBAを学んでいる最中です。UserForm1に入力する際に、日付には半角数値、顧客名にはひらがな、売上には半角数値のIME設定を自動的に行うマクロを作成したいと考えています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
IMEの設定だけなら、 VBEのプロパティウィンドウで各オブジェクトに 設定するのはいかがでしょうか?
その他の回答 (1)
- kybo
- ベストアンサー率53% (349/647)
TextBox1が日付、TextBox2が顧客名、TextBox3が売上だとすると、 TextBox1.IMEMode = 2 TextBox2.IMEMode = 4 TextBox3.IMEMode = 2 の様にします。
お礼
プロパティは ノーコントロールに設定して試しましたがうまくゆきませんでした。 ご指導には感謝します。 ありがとうございました。
補足
ご指導いただいて下記のようにしました。 ※プロパティ Cells(n, 1)の所 fmIMEModeAlpha Cells(n, 2)の所 fmIMEModeHiragana Cells(n, 3)の所 fmIMEModeAlpha ※コード Private Sub CommandButton1_Click() n = 1 Do n = n + 1 Loop While Cells(n, 1) <> "" Cells(n, 1) = UserForm1.TextBox1.IMEMode = fmIMEModeAlpha Cells(n, 2) = UserForm1.TextBox2.IMEMode = fmIMEModeHiragana Cells(n, 3) = UserForm1.TextBox3.IMEMode = fmIMEModeAlpha Unload Me End Sub 変更しましたがいずれの場合も 入力したセルには TRUE と表示されます。 パソコンのデスクトップのIMEツールバーは確かに変わります。 再度ご指導いただけませんか。
お礼
コードとプロパティの両方で設定ましたら「TRUE」が表示され その後試行錯誤の結果、プロパティのみに設定するとうまくゆきました。 誠に有難うございました。
補足
ご指導いただいて下記のようにしました。 ※プロパティ Cells(n, 1)の所 fmIMEModeAlpha Cells(n, 2)の所 fmIMEModeHiragana Cells(n, 3)の所 fmIMEModeAlpha ※コード Private Sub CommandButton1_Click() n = 1 Do n = n + 1 Loop While Cells(n, 1) <> "" Cells(n, 1) = UserForm1.TextBox1.IMEMode = fmIMEModeAlpha Cells(n, 2) = UserForm1.TextBox2.IMEMode = fmIMEModeHiragana Cells(n, 3) = UserForm1.TextBox3.IMEMode = fmIMEModeAlpha Unload Me End Sub 変更しましたがいずれの場合も 入力したセルには TRUE と表示されます。 パソコンのデスクトップのIMEツールバーは確かに変わります。 再度ご指導いただけませんか。