セルの書式を引き継いだまま改行を追加する
2020年09月24日
エクセルの資料を印刷したら、改行位置が違ってて見切れが!!
よくある話かと思います。
自分なりの対策として、
選択範囲のセルに改ページを追加する処理をしていました。
if right(R ,1) <> chr(10) then
R =R & chr(10) ’Each R in Selection
end if
気に入って結構使っていたのですが、書式が変わっちゃう問題が発覚。
赤字やアンダーラインがクリアされるのはまだしも、
取り消し線が復活するのはアカン!
調べたところ、Characters.Insertを使えばいいとのこと。
よくある話かと思います。
自分なりの対策として、
選択範囲のセルに改ページを追加する処理をしていました。
if right(R ,1) <> chr(10) then
R =R & chr(10) ’Each R in Selection
end if
気に入って結構使っていたのですが、書式が変わっちゃう問題が発覚。
赤字やアンダーラインがクリアされるのはまだしも、
取り消し線が復活するのはアカン!
調べたところ、Characters.Insertを使えばいいとのこと。
■回避方法
https://oshiete.goo.ne.jp/qa/8190808.html
■Charactersについて
https://excel-ubara.com/excelvba4/EXCEL_VBA_435.html
■Charactersの挙動について
https://www.relief.jp/docs/excel-vba-characters-insert.html
Sub 改行で終える()
Dim r As Range
For Each r In Selection
If Right(r, 1) <> Chr(10) Then '改行で終わっていない場合
r.Characters(Len(r.Value) + 1).Insert (Chr(1))
End If
Next r
End Sub
Charactersは、スタート位置と文字数を指定する。
セルでF2押して、Ctrl+Home押して、Shift押しながら→キーを押した状態
挿入する場合は、スタート位置を文字数+1にする必要があります。
Charactersは、スタート位置と文字数を指定する。
セルでF2押して、Ctrl+Home押して、Shift押しながら→キーを押した状態
挿入する場合は、スタート位置を文字数+1にする必要があります。
Sub 文字で終える()
Dim r As Range
For Each r In Selection
Do While Right(r, 1) = Chr(10) '改行で終わっていない場合
r.Characters(Len(r.Value)).Delete
Loop
Next r
End Sub
PR
Comment