Excelのこととか色々

Excel のこととか楽天とか いろいろ書いてみます・・・

【Excel/VBAのこと48】ミニツール セルテキストエディタ (セルに長めの文章編集)

   f:id:tuna-kichi:20200223230814p:plain

 

 

最近、仕事で作成したミニツールです。

セルに文章を書く時、短く、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 を操作することができます。

 

なので、続けて別のセルを編集したいときに、

別のセルを選択してからツールに戻って「更新」ボタンを押すと、

テキストボックスに選択したセルの内容が表示されるようにしています。

 

「反映」ボタンは、テキストボックスで編集した文章をセルに入力します。

 

「更新」と「反映」しか思いつかなかったので、この語を使用していますが、

使い始めたら、時々混乱します・・・

------------------------------------------------

 

あとは、いつも通り、標準モジュール記述したマクロをリボンに登録して、

いつでも、どんなファイルにでも使えるようにしておきます。

 

  リボンに登録

 

_/_/_/_/_/_/_/_/_/_/_/

 

 

 

個人用マクロブックについてはこちら

www.tuna-kichi.com

 

リボンに登録についてはこちら

www.tuna-kichi.com

 

 

_/_/_/_/_/_/_/_/_/_/_/_/_/_/