VBAのinputbox関数についての質問です
inputboxを使ってデータの入力をしたいのですが、日本語入力のONとOFFを自動的に切り替えられる記述はありませんでしょうか。
現在の記述は
sub 入力()
Dim simei As String
simei = InputBox("氏名を入力してください")
range("b5").Value = Simei
End su
のような感じです。inputboxを表示するまえに、言語バーの日本語入力がONの状態になるようにしたいのですが…。よろしくお願いします。
No.2ベストアンサー
- 回答日時:
下記で上手く行くようなんですが、いかがですか。
入力規則でひらがなモードに設定。
連続入力を想定しました。途中終了条件を入れてません。
ValidationはRangeオブジェクトに対してのオブジェクト
らしいので下記になります。
Sub 入力1()
Dim simei As String
Worksheets("sheet1").Select
For i = 1 To 10
Cells(i, "A").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly
.IMEMode = xlIMEModeHiragana
End With
simei = InputBox("氏名を入力してください")
Cells(i, "A").Value = simei
Next i
End Sub
http://www2.moug.net/cgi-bin/technic.cgi?exvba+T …参照
.Deleteは必要のようですが。
No.3
- 回答日時:
INPUTBOXはIMEモードでいうと「コントロールなし」にあたります。
なので、INPUTBOXを呼び出す前に設定されたIMEモードに依存します。
ですので、#2さんのようにRangeオブジェクトで
IMEモードを設定してそれを利用するか
Windows APIを使う(下記URL参照)といった手順が考えられます。
ちなみに#2さんのを素直に質問のコードに反映させると
下記になります。
sub 入力()
Dim simei As String
Range("a1").Select '←どこのrangeでもいいです。IMEmodeの設定を利用するだけですので。
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly
.IMEMode = xlIMEModeHiragana
End With
simei = InputBox("氏名を入力してください")
range("b5").Value = Simei
End su
参考URL:http://www.ruriplus.com/msaccess/tch/tch_042.html
#2さんにも登校させていただいたのですが、入力規則を利用する方法でうまくゆきました。
皆さんのご親切のおかげです。
有難うございました。
No.1
- 回答日時:
なかなかinputboxでは難しいようですね。
私ならば、ユーザーフォームで代用します。
自分でユーザーフォームを作成し、その上にラベル、テキストボックス、ボタンを配置してinputbox風にして使いますけど…。
その方法ならば簡単に日本語のON、OFFが切り替えられます。配置したtextbox1のプロパティで、IMEModeを4(4-fmIMEModeHiragana)に設定すれば「ひらがな」モードになります。
Private Sub CommandButton1_Click()
Unload UserForm1
Range("b5").Value = TextBox1
End Sub
コマンドボタンをクリックした時に、上のようなプログラム文にすれば取り敢えずの作業はできると思います。どうしてもinputboxで作業したいのであれば、ヘルプでIMEModeあたりを調べてみてください。
あまり、参考にならなかったかもしれませんが、頑張ってください。
早速のご返事ありがとうございます。
InputBoxを使ってなんとかならないものかと…。
IMEModeをもう少し研究してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 空白のセルを変更しようとした時(アクティブセル)に インプットボックスを5回出す インプットボックス 1 2023/03/14 11:01
- Visual Basic(VBA) 初めてマクロを入力しますが、テキストとおりに入力したのに構文エラーです。修正を教えてください。 3 2022/10/28 11:18
- Visual Basic(VBA) C3とC4のセルに、Visual basicで実行した時入力した値をC3に表示させ、その後に、C3に 1 2023/07/14 09:43
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) inputboxのウインドウを画面の最上部に表示したい 1 2022/11/28 15:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
初歩的な事だと思います。 Sub...
-
Excel-VBAでInputBox+Pulldown...
-
数字以外の入力をエラーにする...
-
エクセルVBA テキストボックス...
-
テキストボックスの番号を使っ...
-
c#でTextBoxの入力制限
-
アクセスのマクロ
-
EXCEL VBA で指定した範囲に入...
-
DataGridView 列ごとの入力制限
-
ACCESS テキストボックスの入力...
-
VBAでInputBoxの再入力をさせる...
-
excel vba でユーザーフォーム...
-
転記マクロ
-
エディットボックスの入力制限...
-
WebフォームのIMEモードを入力...
-
TextBoxから数字が文字...
-
VB 2005 Textbox にテンキーか...
-
POST時に履歴を残さない方法
-
VBA R1C1形式で変数の入力について
-
教えて!全角文字「μ」の半角
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA テキストボックス...
-
テキストボックスの番号を使っ...
-
数字以外の入力をエラーにする...
-
初歩的な事だと思います。 Sub...
-
EXCEL VBA で指定した範囲に入...
-
Windowsのアプリ開発ってなんの...
-
入力フォームの値をQRコードで...
-
教えて!全角文字「μ」の半角
-
Excel-VBAでInputBox+Pulldown...
-
VBAでInputBoxの再入力をさせる...
-
エディットボックスの入力制限...
-
TextBoxから数字が文字...
-
VBAの質問になります メッセー...
-
指定した演算を実施の結果を表...
-
excel vba でユーザーフォーム...
-
アルファベットGの小文字の入力
-
DataGridView 列ごとの入力制限
-
accessで該当するレコードがな...
-
c#でTextBoxの入力制限
-
VBA R1C1形式で変数の入力について
おすすめ情報