Excelで、「セルを選択しておきマクロを呼び出す」ことは、マクロを作っている人には簡単な操作であるが、これを「家計簿77」で定常化するには問題がある‥‥ と、思っている。では、どうするか‥‥ で、ググっていたら Office TANAKA に...
- セルを参照するボタン
上図のように、処理の対象とするセル範囲をユーザーに選択してもらいたい場合があります。表示しているコントロールは、Excelの標準機能でよく使われていますので、ビギナーが操作するときでも理解しやすいでしょう。ちなみに、テキストボックスの右にある、クリックするとダイアログボックスが小さくなるボタンの正式名称は[ダイアログ最小化]ボタンです。
この[ダイアログ最小化]ボタンを持つコントロールの正体は RefEditコントロールです。UserFormで使うには次のようにします。- VBEで[ツールボックス]ツールバーの余白を右クリックする
- 表示されるショートカットメニューで[その他のコントロール]をクリックする
- [コントロールの追加]ダイアログボックスで「RefEdit.Ctrl」をオンにする
- [OK]ボタンをクリックする
上記の方法で追加したRefEditコントロールは、Excelとは関係ない外部のコントロールですから、Excelで使われているアイコンが表示されなくてもしかたありません。また、外部のコントロールということは、万が一 RefEditコントロールがインストールされていないパソコンでは、この UserFormを使うことはできないという不安もあります。
後半の「〜不安もあります」が気になったので、Windows8.1/Excel2007 を起動して調べたら、既にチェックが入っており表示されていた。(右図は Excel2010)
早速 フォームを作成、実行してみたら、右図のように “シート名!絶対番地” で表示された。
引き続きイベントプロシージャを作成,
Private Sub cmdOK_Click() If refAddress.Text = "" Then Call cmdCancel_Click Exit Sub End If Unload frm解析 STRAns = refAddress.Text BOOLAns = run費目明細表示(STRAns) End Sub
作成途中だった Function につないで 完成させた