• ベストアンサー

ExcelVBAについて質問します。

ExcelVBAについて質問します。 「固定されたセルの横幅」と「入力された文字数」の関係について ・セルが横に2個有る場合("A1","A2") ・A1に長い文字列を入力した場合、A2に文字が有る場合と、無い場合で表示が異なります。 ・A2に文字が無ければ、A1の長い文字列は、A2にも表示されます。 ・A2に文字が有れば、A1の長い文字列は、A2には表示されません。 質問 ・A2の状態に関係なく表示されないようにしたい。 ・その場合、A1の文字列は一部かけても良い。 以上の事をExcelVBAで行うにはどうすればよいかお願いします。

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

  • ベストアンサー
  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.4

表示されないようにしたい。 でしたか!よく読んでなかったですわ。 で、A1の書式設定の配置タブで「折り返して全体を表示する」に チェックを入れておいて、セルの縦幅を1文字分にしておくと横のセルに表示しません。 これじゃダメですかね?

smiyaf
質問者

お礼

ありがとうございます。 なるほど 感心しました、ありがとうございます。 これもお願いします。 VBAでセルの横幅、縦幅の設定わ分かりますが、 「折り返して全体を表示する」は ExcelVBAではどの様にしますか?

その他の回答 (4)

  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.5

マクロの記録でやるとこうなるみたいですね。 ------------------------ Sub Macro1() ' ' Macro1 Macro ' ' Range("B2").Select With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlCenter .WrapText = True            'これですね .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With End Sub

参考URL:
http://www.excellenceweb.net/vba/object/range_member/alignment/wraptext.html
smiyaf
質問者

お礼

ありがとうございます。 >マクロの記録でやるとこうなるみたいですね この様な調べ方には気が付きませんでした。

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.3

Excel2003 で確認しています。 エクセルの書式として対応する設定が無いので、お望みの設定は できないと思います。 代替案として、 ・右のセルにダミーでスペースを入れる。 ・左のセルを2つのセル以上の連結セルにする。 ではみ出なくなります。

smiyaf
質問者

お礼

ありがとうございます。 前から疑問に思いながらそのままにしていました。 最近、どうしても解決する必要が有り、質問してみました。 便利の時も有るのですが、困る時も有りますね。

  • fujiponxx
  • ベストアンサー率32% (186/580)
回答No.2

横にならんだセルであれば、なにもしなくても言われたように表示すると思います。 ちなみに、横だとa1 b1 だと思います。 以下の様に登録して、a1が5文字の幅だったとすると a1:あああああああああああああああああああああ b2:いいいいいいいいいいいいいいい 見た目は、以下のようになりますので一部かけても表示されてますね。 あああああいいいいいいいいいいいいいいい 質問で要求されている内容がよくわからないのですが、 以下のように具体的に書いていただければ回答しやすいのです。 ・文字数によってセルの文字幅を変更したい。 ・表示書式を変更したい。

smiyaf
質問者

補足

すいません 横だからA1、B1です >以下の様に登録して、a1が5文字の幅だったとすると >A1:あああああああああああああああああああああ >B1:いいいいいいいいいいいいいいい >見た目は >あああああいいいいいいいいいいいいいいい となります。 B1に何も無い場合は B1の領域まで あああああああああああああああああああああ と表示されます。 これを防ぎたいのです。 >・文字数によってセルの文字幅を変更したい。 変更しない >・表示書式を変更したい。 変更しない 以上です。 宜しくお願いします。

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

セルの高さを決めて、 セルの書式設定の配置を”折り返して全体を表示”にする ●A1~A99の場合 '----------------------------- Sub Test()   With Range("A1:A99")      .WrapText = True      .RowHeight = Range("A1").RowHeight   End With End Sub '-----------------------------   A列全行なら、With Range("A:A")   以上です。  

専門家に質問してみよう