
VBAのユーザーフォームについて質問です。
ユーザーフォーム上のコマンドボタンをクリックすると、セルに値が入力されるようにしました。このとき、コマンドボタンをクリックすると、フォーカスがユーザーフォームに残っています。これを、コマンドボタンをクリックした後、自動で対象のセルにフォーカスすることはできるでしょうか?何かよい方法はあるでしょうか?
イメージは、
1 コマンドボタンクリック
2セルに値がセットされる
3 マウスを手放す
4 キーボードからセルの操作ができる状態(キーボードの矢印キーでセル移動ができる状態など)
のような状態にしたいです。
No.1ベストアンサー
- 回答日時:
AppActivate Application.Captionを入れてみてはいかがでしょうか。
こちらで、以下のようにしたところ、期待通りに動いています。
対象セルをA1とします。
Private Sub CommandButton1_Click()
Range("A1").Value = TextBox1.Value
Range("A1").Select
AppActivate Application.Caption
End Sub
下記が参考URLになります。
https://answers.microsoft.com/ja-jp/msoffice/for …
https://qiita.com/ditflame/items/9ca1fb78de4dbba …
回答ありがとうございます。
臨んだとおりの動きになりました!
AppActivate Application.Caption
がとても便利です!
No.3
- 回答日時:
フォーカスについてはすでに回答されていますね
4 キーボードからセルの操作ができる状態(キーボードの矢印キーでセル移動ができる状態など)
これを実現するためには
UserForm オブジェクトを表示する時に
modal の設定をvbModelessにする
(VBEから実行ではなくUserForm オブジェクトを表示します)
UserForm1.Show vbModeless
参考
https://learn.microsoft.com/ja-jp/office/vba/lan …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
コマンドボタンのEnterイベント後に、フォーカスを移動したい。
その他(Microsoft Office)
-
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
-
4
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
5
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
6
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
ユーザーフォームでTextBox1にカーソルを移動したい
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
11
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
12
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
13
どこにもフォーカスを当てたくない
Access(アクセス)
-
14
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
15
コマンドボタンやイメージにマウスをのせるとボタン名を表示したい
Excel(エクセル)
-
16
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
17
最初の1回のみにボタンクリックでマクロ実行する
Visual Basic(VBA)
-
18
VBAのリストボックスをマウスでスクロール
PowerPoint(パワーポイント)
-
19
UserForm1.Showでエラーになります。
工学
-
20
入力済み、選択したセルに連動した行のデータをユーザーフォームで呼び出すには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルが空白だったら、そ...
-
”戻り値”が変化したときに、マ...
-
ExcelVBAを使って、値...
-
Excel VBA、 別ブックの最終行...
-
Excelで指定した日付から過去の...
-
Excelのプルダウンで2列分の情...
-
DataGridViewのセル編集完了後...
-
Excel VBAで、 ヘッダーへのセ...
-
セル色なしの行一括削除
-
ExcelのVBAで数字と文字列をマ...
-
Excelのハイパーリンクにマクロ...
-
VB.NETで、EXCELの右寄せ
-
i=cells(Rows.Count, 1)とi=cel...
-
実行時エラー438 オブジェクト...
-
VBA ユーザーフォーム ボタンク...
-
エクセルVBAで、非表示にし...
-
VBAで検索して指定の位置に行を...
-
Excel vbaで特定の文字以外が入...
-
Word版VBで表の任意の箇所を...
-
Google Apps Script:Googleスプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
特定行の色を変えたい(FlexGrid)
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelで指定した日付から過去の...
-
エクセルvbaで、別シートの最下...
-
VBA実行後に元のセルに戻りたい
-
Application.Matchで特定行の検索
-
”戻り値”が変化したときに、マ...
-
VBAでセルをクリックする回...
-
任意フォルダから画像をすべて...
-
Excel VBAで、 ヘッダーへのセ...
-
TODAY()で設定したセルの日付...
-
【Excel VBA】指定行以降をクリ...
-
Excel vbaで特定の文字以外が入...
-
ExcelのVBAで数字と文字列をマ...
-
Excel VBA、 別ブックの最終行...
-
DataGridViewの各セル幅を自由...
-
VBA ユーザーフォーム ボタンク...
-
連続する複数のセル値がすべて0...
おすすめ情報