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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
マクロ
Visual Basic(VBA)
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
5
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
-
6
Excel VBA テキストボックスから範囲選択を行うには?
Excel(エクセル)
-
7
RefEditやInputboxで他のブックの範囲を指定するには
Excel(エクセル)
-
8
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
9
Excel VBA REFEDIT.DLL 修復方法について
Excel(エクセル)
-
10
任意で選択したセルをテキストボックスに表示
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#,vb.netで業務用アプリ開発と...
-
EXCELでactivexコントロールを...
-
vb.netで画面のコントロールId...
-
カメラスクロールするのを動画...
-
JavaScriptからVBAの関数を呼び...
-
ExcelVBAでListViewが使用できない
-
エクセル・VBA CheckBoxのオブ...
-
(VBA)スピンボタンの大量...
-
エクセル コントロールツール...
-
ACCESS2010のVBAでフォーム内ク...
-
Excelコマンドボタン名を変数に...
-
ユーザーフォームで動的(Me.Con...
-
ExcelVBAのコントロールの種類...
-
With~EndWithの省略部分と引数...
-
VB.NET開発。ラジオボタンとコ...
-
C#で角が丸いテキストボックス
-
C# タブのコントロール取得
-
【VB6】Timerコントロールは何...
-
VB.NET 動的コントロールの存在...
-
コントロールの絶対位置を取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
(VBA)スピンボタンの大量...
-
エクセルVBAでオプションボタン...
-
C#で角が丸いテキストボックス
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
間違えて配置してしまったコン...
-
コンボボックスの文字によるif...
-
VBAのエラーについて、”実行時...
-
変数をコントロール型で使用す...
-
chr関数の呼び出しで「プロ...
-
With~EndWithの省略部分と引数...
-
C#で自分のウインド・ハンド...
-
excelのリストボックスで選択し...
-
'ckbl' コントロールは作成され...
-
フォーム上の現在アクティブな...
おすすめ情報