
以前教えていただいたコードです。C列、D列、E列が全て共通の行を結合していきます。
For I = Cells(Rows.Count,"A").End(xlUp).Row To 2 Step -1
If Cells(I,"C") = Cells(I-1,"C) And_ ...以下D、E列についても同様に記述
Then
Application.DisplayAlerts = False
Range(Cells(I-1, "B"),Cells(I,"B")).Merge ...以下D、E列についても同様に記述
Application.DisplayAlerts = True
End If
Next I
この条件分岐の中で、「改ページをまたぐ時はセル結合をしない」という条件を加えたいです。
「HPageBreaksがある/ない」を判断させることはできますでしょうか。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは
>改ページをまたぐ時はセル結合をしない~~
マクロ実行時には処理が可能ですが、その後、セルの高さが変わるような操作あるいはマクロを実行すると、結果的に「改ページをまたぐセル結合」になってしまう可能性もあると思いますが・・・?
それとも定型書式で改ページ位置は変わらないタイプのものなのでしょうか?
とりあえず、方法のみ。
>「HPageBreaksがある/ない」を判断させることはできますでしょうか
HPageBreaksは
Worksheet.HPageBreaks
で取得できます(複数)ので、結合時に各改ページにまたがっていないことを確認する処理を入れれば良いでしょう。
Worksheet.HPageBreaks.Count
で、改ページの箇所数がわかりますし、それぞれの改ページのセル位置は
Worksheet.HPageBreaks(i).Location.Address
で取得できます。
判断材料として行番号さえわかれば良さそうですので、AddressよりもLocation.Rowで取得した方が処理しやすいと思われます。
結合が、
>Range(Cells(I-1, "B"),Cells(I,"B")).Merge ...
・・・のように、必ず2つのセルを対象に行うようになっているのであるなら、上記の行番号と変数Iが一致していたら結合を行わないようにしておけば良いのではないでしょうか。
(全貌がわからないので、はっきりとはしませんが・・・)
ただし、上記の処理だけでは、既に(なんらかの理由で)改ページをまたぐセル結合がある場合に、それを解除したりすることはできません。(新たに生み出さないだけです)
上記を応用すれば、解除することも可能ではありますが・・・
回答いただき、ありがとうございました!
定型書式の意味するところが私の想像ですが、列幅・行高は変えませんので、定型書式と言っていいと思います。
参考になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 上下で列幅を変えるには
-
【Excel関数】UNIQUE関数で"0"...
-
Excel グラフのプロットからデ...
-
特定の文字がある行以外を削除...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル マクロで数値が変っ...
-
結合されたセルをプルダウンの...
-
罫線の斜線を自動で引くマクロ
-
Excelのフィルター後の一番上の...
-
アクティブになっている行をマ...
-
EXCELで最後の行を固定
-
エクセルのセルに指定画像(.jpg...
-
AのセルとB行を比較して、一致...
-
電話番号の入力方式が違うデー...
-
エクセルで特定の文字列が入っ...
-
Excelで非表示のセルをとばして...
-
A1に入力された文字列と同じ文...
-
excel 小さすぎて見えないセル...
-
Excel ウインドウ枠の固定をす...
-
Excelでカタカナ・ひらがな・英...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
Excelのフィルター後の一番上の...
-
エクセル 上下で列幅を変えるには
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
excel 小さすぎて見えないセル...
-
A1に入力された文字列と同じ文...
-
EXCELで最後の行を固定
-
Excel ウインドウ枠の固定をす...
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
連続データが入った行の一番右...
-
エクセル2016で時間を入力して...
-
チェックボックスをクリックし...
おすすめ情報