最近、仕事で作成したミニツールです。
セルに文章を書く時、短く、1行の文章であればいいのですが、
少し長めの文章を書くことがあります。
体裁を気にしなければ、つらつらと書いていけばいいのですが、
時々、改行しないと読みづらくなる場合があります。
セル内で開業するには Alt + Enter で、改行できますよね。
改行を何回もするとき、いちいち Alt キーを押さなければならず、
Alt キーを押し忘れて Enter キーのみ押してしまい、
フォーカスが外れて別のセルに移動してしまう ってことが頻繁にあります・・・
この Alt キーを押して改行するのが非常に面倒だったので、
セルに長文を入力するための、テキストエディタを作成してみました。
------------------------------------------------
外観
シンプルでしょ。
・コマンドボタン x 3
・テキストボックス x1
テキストボックスのプロパティ
テキストボックスの・・・
・EnterKeyBehavior > True
・MultiLine > True
にします。
これで、テキストボックスで文章編集中に Enter キーを押すと改行してくれます。
Alt キーを押す必要がなくなります。
**********************************************
マクロ
閉じるボタン
Private Sub cmdClose_Click()
End
End Sub
------------------------------------------------
更新ボタン
Private Sub cmdRefresh_Click()
'別のセルを選択してその内容をテキストボックスに表示させる
Call UserForm_Initialize
End Sub
------------------------------------------------
反映ボタン
Private Sub cmdReplace_Click()
'テキストボックスで編集した文章をセルに入力する
Selection = txtEditWindow.Text
End Sub
------------------------------------------------
初期化
Private Sub UserForm_Initialize()
txtEditWindow.Text = Selection
End Sub
------------------------------------------------
'このコードは標準モジュールに記述する
Sub セルテキストエディタ()
frmCellTextEditor.Show vbModeless
End Sub
**********************************************
標準モジュールに vbModeless を記述するしてツールを起動させると、
ツール起動中でも Excel のシートに戻って Excel を操作することができます。
なので、続けて別のセルを編集したいときに、
別のセルを選択してからツールに戻って「更新」ボタンを押すと、
テキストボックスに選択したセルの内容が表示されるようにしています。
「反映」ボタンは、テキストボックスで編集した文章をセルに入力します。
「更新」と「反映」しか思いつかなかったので、この語を使用していますが、
使い始めたら、時々混乱します・・・
------------------------------------------------
あとは、いつも通り、標準モジュール記述したマクロをリボンに登録して、
いつでも、どんなファイルにでも使えるようにしておきます。
_/_/_/_/_/_/_/_/_/_/_/
個人用マクロブックについてはこちら
リボンに登録についてはこちら
_/_/_/_/_/_/_/_/_/_/_/_/_/_/