• ベストアンサー

行幅をなくしたいのですが…

行幅を0にするマクロを作成したのですが、セルが結合されているとそのセルの文字まで消えてしまいます。下のマクロは一度セル結合を解除して、その文字をコピーしたままセル幅を0にして、またセル結合してコピー貼り付けるようなやり方です。最後の3行は残しといて幅を合わしています。もっと良いやり方あれば教えてください。分かりずらいかもしれませんがお願いします。 又、元の幅に合わしたいマクロも教えていただければ助かります。   Range("A4:A14").Select Selection.UnMerge Range("A4").Select Selection.Copy Range("A12").Select ActiveSheet.Paste Rows("4:11").Select Selection.RowHeight = 0 Range("A12:A14").Select Application.CutCopyMode = False Selection.Merge Rows("12:14").Select Selection.RowHeight = 14.25

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

  • ベストアンサー
  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 >セルが結合されているとそのセルの文字まで消えてしまいます。 という点が少しわかりません。 A4:A14が結合されていて、A4:A11を非表示にした時に、A4の値が非表示にならなければ良いのですか? Sub sample()   Rows("4:11").Hidden = True End Sub ...という事とは意味が違います?

jo-ster
質問者

お礼

説明不足ですいません。 文字がA4のセルに入力されて、A14まで結合されているので、4:14の幅を0にするとA4のも文字も表示されないという意味だったもですが… でも、このマクロでなんとか出来そうです。 ありがとうございます。

その他の回答 (2)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

根本的に間違っていますので指摘します。  幅0(または、高さ0)に設定されたセルの内容は表示されません。 セル幅を最小(1ピクセル)にして右隣のセルの幅をその分(1ピクセル)だけ狭くするようにしてみてください。

回答No.2

全然別の方向の回答だと思いますが・・。 セルの結合は必ず必要ですか? 入りきらない文字列を表示させる時、結合ではなく横に並んだ 二つのセルを選択した状態でセルの書式設定で 配置タブから 横位置を選択範囲内の中央とすれば、結合せずに セルを結合して中央に表示と同じ結果が得られます。