• ベストアンサー

Excelで一つのセル内の文字縦位置微調整

例えば一つのセルの高さを4分割したイメージで 上から順に 2/4 → 空白 1/4 → 文字 1/4 → 空白 こんな感じで文字を収めたいのですが、VBAか何かで出来るでしょうか? ご教授よろしくお願いいたします。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

こんばんは。 Excel2000で試してみましたが、左右中央が乱れる現象は再現しませんでした。 空白を通常の(見える)1文字にしてみたら、どのように乱れているのか確認できますか? >文字は1行です。 でしたら、空白の調整なしでも、上に一行いれて(改行のみ)、上下中央配置だけでも、ほぼお望みの位置にいきそうな気がしますが? (上半分が空白で、その下に文字) 実際には、フォントデザインの関係で、ほんのちょっと中央より下になるかとは思いますが・・・

Marcerona
質問者

お礼

>どのように乱れているのか確認できますか? 当方2003ですが、表示したい文字は若干右寄りになってます。 >空白の調整なしでも、上に一行いれて(改行のみ)、上下中央配置だけでも、ほぼお望みの位置にいきそうな気がしますが? Excel使用歴そこそこありますが↑の意味がよく判らず、どうやってやるのか悩んでしまいました。ゴメンなさい。 ただこれをヒントに「折り返して全体を表示する」にチェックを入れて無駄にスペースを入れて2行にすると(見た目1行)上下中央配置、横位置中央揃いで上手くいきました。 結果、全て良しです。 この度は本当にありがとうございました。 心より感謝申し上げます。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

文字が複数行なるのか(折り返されるのか)、1行だなのかによってもだいぶ変わりますが、計算が不可能というわけではないので、できないことはないでしょう。 方法としては、 (1)セルの書式表示を縦位置中央などとしておいて(他の設定でも可) (2)表示文字の前に空白+改行を追加 (3)追加した空白1文字の文字サイズを、セルの高さ、文字のサイズなどから計算して設定する。 というようなことで、ある程度まで可能だと考えられます。 しかし、文字が折り返し表示されていると、かなり面倒だと思われます。 (特に当幅フォントでない場合は。当幅でも難しいかも) ↑の方法は、手動でも、VBAでもできると思いますが、VBAの場合は、起り得るいろいろな状況での判断をどのようにするのかのルールづくりが必要になります。手動なら、人間がその場で判断するので、自由自在ですね。 (たとえば文字の位置1/4というのは文字の上端なのか中心なのか、などなど・・・)

Marcerona
質問者

お礼

貴重なご意見ありがとうございます。 やってみると確かに出来ました。 凄いと思いました。 ただ文字前に空白+改行を追加すると横位置中央揃いが微妙に狂ってしまいました。 インデントとか無駄な空白などで微調整出来ると思いますが、できることなら「中央揃い」で揃えられた感じに仕上げられたら幸いです。 もしその方法もお知りなら併せてご教授願いたいと思います。 よろしくお願いします。

Marcerona
質問者

補足

文字は1行です。

関連するQ&A