UserFormにRefEditを貼り付けて、showします。
RefEditの右ボタンをクリックすると、formが自動的に閉じて、セルの範囲選択状態になります。(フォームのタイトルは表示されていません)任意のセルを選択してエンターキーを押すと、選択範囲が点線で囲まれた状態で、formに戻ります。ここからが問題です。
formの中はもちろん、エクセル自体もなにも動作しないようになってしまいます。ウィンドウズのスタートのエクセルをクリックしてみると一度閉じて再度クリックするとRefEditのセル範囲選択状態が消えていません。(formの後ろでまだ動いている)多分、RefEditから制御が帰ってこないからだと思いますが、改善の方法がわかりません。formとRefEditの設定の関係だと思います。ためしに、別のformを作成し、RefEditを貼り付けて動作確認してみると正常に動作します。
何の設定が間違っているのでしょうか?どなたか?教えて頂けないでしょうか?宜しくお願い致します。
(formのshowmodalをtrueにするとformに戻ってきたときにform内の任意の場所をクリックすると勝手にformが閉じます。bookを閉じずに、再びformを表示しRefEditを選択した後、formに戻ってくると今度は、フォーム内のマルチページは選択できるようになりますが、閉じるボタンが効きません。formとRefEditの設定の関係のような気がしますが、全く判りません)
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。ざっと MSDN ライブラリの情報を拾ってみました。
基本的に ReEdit コントロールは問題アリアリです。標準コントロール
ではないためか、このようなエラーがいつまでも放置されてます。
「修正しました」と発表されても実は修正されていなかったりしますの
で、できれば使うのを控えた方が吉でしょう。
・[XL2000] RefEdit コントロール使用時にキーボード ショートカットを使用して範囲を指定できない
http://support.microsoft.com/default.aspx?scid=k …
・[XL2000] RefEdit コントロールを使用する Excel インスタンスを複数開くとマクロの起動時に VBA エラーが発生する
http://support.microsoft.com/default.aspx?scid=k …
・[XL2000] ユーザー フォームを閉じられない現象について
http://support.microsoft.com/default.aspx?scid=k …
・[XL2000] UserForm を閉じた後に、 RefEdit コントロール が表示されます。
http://support.microsoft.com/default.aspx?scid=k …
・Excel マクロで RefEdit コントロールを使用する場合、一部のイベントが実行しません。
http://support.microsoft.com/default.aspx?scid=k …
・RefEdit コントロールはモードレスフォームでは使えない(英語)
http://msdn.microsoft.com/library/default.asp?ur …
代替案ですが、Inputbox メソッドで同等のことが可能です。ただし、
アクティブブック内しかできませんが。
1. 標準モジュールに以下のユーザー定義関数をコピペ
Function GET_ADDRESS(ByRef strCAPTION) As String
Dim rngTEMP As Range
On Error Resume Next
Set rngTEMP = Application.InputBox( _
Prompt:=strCAPTION, _
Type:=8)
If rngTEMP Is Nothing Then
GET_ADDRESS = "False"
Else
GET_ADDRESS = rngTEMP.Parent.Name & "!" _
& rngTEMP.Address
End If
Set rngTEMP = Nothing
On Error GoTo 0
End Function
2. セルアドレスを表示するテキストボックスを配置
3. 2.の横にこの関数を呼び出すボタンを配置
4. 3.のボタンに以下のコードを追加
Private Sub CommandButton1_Click()
Dim strADDRESS As String
'フォームを一時的に非表示
Me.Hide
'ユーザー定義関数を呼び出してセルアドレスを取得
strADDRESS = GET_ADDRESS("セルを選択")
'文字列で False ならキャンセル
If UCase$(strADDRESS) <> "FALSE" Then
Me.TextBox1.Text = strADDRESS
End If
'フォーム再表示
Me.Show
End Sub
KenKen_SP様、ご指導ありがとう御座います。KenKen_SP様のご指導が無ければ、1週間は悩んで、自己解決できずに諦めざるを得ない結果だったと思います。本当にありがとう御座います。
その上、改善ルーチンまで、伝授して頂いて、感謝の限りです。しかし、同等のコントロールを自作してしまうなんて、力技ならぬ知恵技ってところでしょうか?感動を感じました。早速利用させて頂きます。手点数が、少ないですが御了承ください。
また、宜しくお願い致します。
(VBAって奥が深くて面白い半分、頭痛の種半分って感じでハマっています。自分の頭の硬さを痛感します。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
マクロ
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
EXCEL VBA ユーザーフォームの呼び出し時の不具合について
Excel(エクセル)
-
5
エクセル UserForm 呼び出しでフリーズしてしまいます
その他(Microsoft Office)
-
6
Excel VBA テキストボックスから範囲選択を行うには?
Excel(エクセル)
-
7
Excel VBA REFEDIT.DLL 修復方法について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
ListViewのチェックボックスに...
-
vb.netで画面のコントロールId...
-
コンボボックスの文字によるif...
-
コントロールを移動できない
-
VBA 複数のテキストボックスと...
-
フォーム上の現在アクティブな...
-
VB6.0 プロジェクトオープン時...
-
エクセルVBAでオプションボタン...
-
C#で角が丸いテキストボックス
-
Groupboxの配下のコントロール...
-
ControlTipTextの書式設定(Font...
-
アクセスの日報でカレンダーを...
-
ACCESS2010のVBAでフォーム内ク...
-
VBA ユーザーフォームの Keypre...
-
自マシンのIPアドレスを変更す...
-
RefEditで完全にハマっています。
-
会社の仲良かった女性とギクシ...
-
エクセル コントロールツール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
C#で角が丸いテキストボックス
-
(VBA)スピンボタンの大量...
-
chr関数の呼び出しで「プロ...
-
変数をコントロール型で使用す...
-
ExcelVBAでListViewが使用できない
-
VBAのエラーについて、”実行時...
-
間違えて配置してしまったコン...
-
VBAのフォームでTextBoxがいっ...
-
Groupboxの配下のコントロール...
-
excelのリストボックスで選択し...
-
ACCESS2010のVBAでフォーム内ク...
-
エクセルVBAでオプションボタン...
-
フォーム上の現在アクティブな...
-
ユーザーフォームで動的(Me.Con...
-
コンボボックスの文字によるif...
-
コントロールを移動できない
おすすめ情報