MS-Excel2000のマクロにおいて、
UserForm1.Showでコントロールツールボックスを表示させた状態で
セルの選択位置をマウスで移動させたいと思っておりますが、
コントロールツールボックスがあるとセルを選択位置移動ができません。
(もちろん、コントロールツールボックスを消せば
セルの選択位置移動はできます。)
どのような指示にすればできますでしょうか?
よろしくご教授願います。
やりたい事は、
はんこ(スタンプ)みたいにコントロールツールボックスの
コマンドボタンを押したら文字がアクティブセルに表示するようにしたい。
ただし、コントロールツールボックスを表示したままで
アクティブセルはマウスで任意の位置を選択できるようにする。
ってことです。
No.1ベストアンサー
- 回答日時:
>UserForm1.Showでコントロールツールボックスを表示させた状態で
>セルの選択位置をマウスで移動させたいと思っておりますが、・・・
>やりたい事は、はんこ(スタンプ)みたいにコントロールツールボックスの
>コマンドボタンを押したら文字がアクティブセルに表示するようにしたい。
>ただし、コントロールツールボックスを表示したままで
>アクティブセルはマウスで任意の位置を選択できるようにする。 ってことです。
やりたい事については、なんとなく分かるような気がしますが、コントロールツールボックスのコマンドボタンを押すことで(キッカケで)アクティブセルに文字を表示することはできないでしょう。(こういう意味?)
コントロールツールボックスはユーザーフォームを作成する時に使うもので、質問のようなことはもっと簡単にできます。普通の使い方のように思いますが・・・
ユーザーフォームを表示した状態でのセル選択はExcel2000なので簡単にできます。(モーダレスでのユーザーフォームの表示)
InputBoxメソッド、他のコントロールなどがありますが、モーダレスでユーザーフォームを表示するのがいちばん簡単でしょう。(モーダル:そのフォームにのみ応答可能な状態。モーダレスだと、そのフォームに束縛されていない状態で、セルの選択ができるわけです)
例として、ユーザーフォーム(UserForm1)上に
テキストボックス(TextBox1)とコマンドボタン(CommandButton1)を配置します。
文字が決まっているならTextBox1のプロパティTextにその文字をセットしておきます。
ユーザーフォーム上に配置したコマンドボタンをダブルクリックして、コードウインドウでコードを編集して
Private Sub CommandButton1_Click()
Dim rg As Range 'セル
For Each rg In Selection
rg = TextBox1.Text
Next
End Sub
とします。For Eachで複数セル範囲を選択した時も動くようにしてあります。
Sheet1でコントロールツールボックスからコマンドボタン(CommandButton1)を1つシートに貼り付けます。
このコマンドボタンをダブルクリックして、Sheet1のコードウインドウで、コードを編集して
Private Sub CommandButton1_Click()
UserForm1.Show vbModeless
End Sub
とします。
Sheet1に戻り、
1.デザインモードを解除
2.シート上のコマンドボタンをクリックでユーザーフォームが表示される。
3.この状態は、セルの選択、複数セルの選択、Shiftキー・Ctrlキーをつかってのセル選択、シートの切り替えができます。
質問を自己流に解釈してしまっているかもしれません。
要旨は、ユーザーフォームをモーダレスで表示して、ユーザーフォーム上のコマンドボタンで選択したセルに表示するようにしています。ご参考に。
nishi6さん、わかりにくい私の質問の意図を把握していただき、
ありがとうございます。今回の回答で満点です。
vbModelessってたった一言だったんですね。
本当にありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセルVBA 任意のセルの選択時、指定のセルの値を表示 1 2023/04/21 08:13
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Excel(エクセル) エクセルからビジオのリンク貼り付け 1 2023/03/30 17:51
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) エクセルの数式で教えてください。 1 2022/10/25 09:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セルをクリック⇒そのセルに入力...
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
Excelのチェックボックスの使い...
-
エクセル オートフィルタで絞...
-
Excelで住所を2つ(町名迄と番...
-
セルに特定の色が付いていたら...
-
枠に収まらない文字を非表示に...
-
Excel:指定セル以下全てのセル...
-
貼り付けで複数セルに貼り付けたい
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルの一つのセルに複数の...
-
Excelで、「特定のセル」に入力...
-
Excelでのコメント表示位置
-
【Excel】 セルの色での判断は...
-
エクセルで縦に1112223...
-
セルの高さ(行高)を求めるには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
セルをクリック⇒そのセルに入力...
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
EXCEL VBA セルに既に入...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excel2003 の『コメント』の編...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
複数のセルのいずれかに数字が...
-
枠に収まらない文字を非表示に...
-
excelの特定のセルの隣のセル指...
おすすめ情報