Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3580 / 13646 ツリー ←次へ | 前へ→

【61308】同一セル内強制改行をマクロでやるには にしもり 09/4/24(金) 18:18 質問[未読]
【61310】Re:同一セル内強制改行をマクロでやるには n 09/4/24(金) 21:18 発言[未読]
【61330】Re:同一セル内強制改行をマクロでやるには にしもり 09/4/27(月) 10:48 お礼[未読]

【61308】同一セル内強制改行をマクロでやるには
質問  にしもり  - 09/4/24(金) 18:18 -

引用なし
パスワード
   ご存じのかたぜひ教えてください。

excelの或るセルに、100文字くらいの文章が折り返し表示で入力されてたとします。行の高さをダブルクリックで調整し、excel画面上では、文の最後まで見えるようにしてます。ところが、excelファイルをPDF化しますと、そのセル内の最も下端の行がなぜか隠れてみえなくなってしまうのです。

これを回避するために、PDF化するステップの前に、セルの中の文章の最後の一文字のあとに、同一セル内強制改行をおこなおうかと思っています。

文章が入ったセルは、sheetの決まった列に50行くらいにわたって在ります。
これらをひとつひとつ手でctrl+Altを押すのは至難のわざなのでできればマクロにしたいのです。そういうことは可能でしょうか。

50行くらいといいましたが51行のこともあれば49行のこともあります。
つまりファイルによってレコード数は異なります。

教本をさがしましたが、同一セル内強制改行をマクロでやるなどという章はありませんでした。どなたかアドバイスありましたら宜しくお願いします。

【61310】Re:同一セル内強制改行をマクロでやるには
発言  n  - 09/4/24(金) 21:18 -

引用なし
パスワード
   あまり深く考えないなら、文字の最後にセル内改行文字をくっつけてやれば良いです。
Chr(10) 、定数なら vbLf です。
(ctrl+Alt・・・Alt + Enter ですね)

'A1からA列最下行まで。
Sub test()
  Dim r As Range

  With ActiveSheet
    For Each r In .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
      r.Value = r.Value & vbLf
    Next
  End With
End Sub

#文字数によってはうまくいかないケースもあるかもしれません。あまり検証してません。

【61330】Re:同一セル内強制改行をマクロでやるには
お礼  にしもり  - 09/4/27(月) 10:48 -

引用なし
パスワード
   ▼n さん:

レス頂いたのに当方反応遅くてすみません。
vbLfは改行のことですね。それを付ければよかったのですね。
そおいう点がピンときません。
お蔭様で出来ました。
ありがとうございました。

>(ctrl+Alt・・・Alt + Enter ですね)
間違えて失礼しました。

3580 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free