• ベストアンサー

excel 自動で文字を罫線で囲うには

組織図、系列図のような物を良く作っています。入力文字は日本語です。 □─┬□    └□─┬□     ・説明 └□ 文字を入力すると自動で罫線で囲む様にしたいのですが、「0に等しくない」と 条件付書式で設定すると全ての文字を囲ってしまいます。 たまに枠外に説明等を書く時があるのですが、それも囲ってしまい、 セルの書式設定で罫線無にしても残ってしまいます。 上手い方法、条件付け等ありましたらアドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.2

組織図などは、セルに入力ではなく図形を使った方が楽だと思いますが。(私はこれで作ってます。エクセルにある組織図はなかなか実情に合わないので使用していません。) 四角の図形を選択Altを押しながら四角を作るとセルの大きさにきちんと合います。これで、四角を選択して、右クリックからテキストの追加で文字の入力。 ここからが図形の良いところで、オートシェイプからコネクターを選択して線を引く。コネクターを使用すると、四角の図形の固定場所にピタリと張り付きます。これでしたら線がずれる、斜めになる等の心配が要りません。 質問と離れてしまいましたが、spaspaさんの言われている方法ならば、説明はテキストボックスを挿入して枠線をなくす方法が早いと思います。(条件付書式はそのままで。)

spaspa
質問者

お礼

ありがとうございます。 Tabで飛びながらセルにさくさく打ち込んでいくのが早いかなぁと思っていたのですが、 コネクターのことを考えるとテキストボックスの方が早いかも知れませんねぇ。 テキストの長さがまちまち(形が組織図っぽいだけ)なので、テキストボックスのサイズ変更がめんどくさいかもしれません。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

こう言うのも便利かもしれない。 ワークシート上でセルの上下左右を線で囲みたいセルで ダブルクリックすると、罫線で囲みます。 (1)ALT+F11でVBE画面が出ます。+はALTキー押しつつF11キーを押す意味。 (2)左のVBAProject画面のSheet1をダブルクリックする。Sheet2でもどれでも良い。 (3)上部のGeneralと出ているところをWorksheet、Declarationと出ているところをBeforeDoubleClickを選ぶ。 (4) Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub でる (5)そこで下記を(最初最終行を除き)コピペする。 PrivateからBoolean)までは、もともと1行です。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) For i = 1 To 4 With Selection.Borders(i) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With Next i End Sub

spaspa
質問者

お礼

ありがとうございます。 教えていただいたとおりやってできたのですが、文章を再編集する時にダブルクリックで カーソルを出すので最初はちょっと面食らうかもしれませんね。 しばらく試してみます。

noname#11856
noname#11856
回答No.1

全ての文字を囲みたくないのであれば、囲みたい時と囲みたくない時の 『差』が必要です。例えば、例示されてる『・説明』を囲みたくないなら 最初の文字が『・』以外であれば囲む、などでできますよね。 もし差がないのであれば、もう手作業しかないと思います。 ツールバーの罫線ボタンはお使いになっていますか? それとも色付きの罫線などをひかなければいけないということでしょうか? そうであれば、自動的に罫線を付与することは出来ないまでも Ctrlと任意のキーを使ってVBAを呼び出す事が可能ですので まずはアクティブセルにお好みの罫線を引くモジュールを書いてしまいましょう。 そして、Excel側に戻って、Alt+F8(もしくはメニューからツール→マクロ→マクロ)で マクロの選択画面を表示させ、作ったモジュールを選択(起動ではありません)し オプションと書かれたボタンを押してください。 そこで、任意のキーでそのマクロを起動することができるようになります。 そうすれば、アクティブセル上で設定したキーを押下すると罫線が引かれます。 VBAがわからない、ということであれば、ツール→マクロ→新しいマクロの記録で 開始させてから終了ボタンを押すまでの作業を、自動的にマクロ化してくれます。 例えばA1セルにいる状態で、先の新しいマクロの記録の開始をします。 引きたい罫線を引いてください。そして終了ボタンを押します。 これでマクロのできあがりです。 注意するのは、開始してからセルの移動をしないこと。 してしまうと、アクティブセルではなく、移動したセルに引くだけになってしまったりします。 ・・・何度でもやり直せるし、記録されたマクロを手直しも出来るので大丈夫ですけどね。

spaspa
質問者

補足

ありがとうございます。自分はVBAがわからないのです。申し訳ないです。 罫線は特別な物を使うわけではないのですが量が多いので文字入力終了と同時に囲んでくれるとかなり助かるのです。 「・」で選択する方法はやってみましたが上手くできませんでした。

関連するQ&A