![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
以前教えていただいたコードです。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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
VBAで色の付いているセルの行削除
-
EXCEL 「最後のセル」のリセット
-
エクセル マクロ オートフィ...
-
Excelのフィルター後の一番上の...
-
excel 小さすぎて見えないセル...
-
[EXCEL]ボタン押す→時刻が表に...
-
AのセルとB行を比較して、一致...
-
エクセルマクロで特定の文字を...
-
Excelで結合されたセルの間に列...
-
エクセルのマクロで意図しない...
-
エクセル 上下で列幅を変えるには
-
Excel グラフのプロットからデ...
-
連続データが入った行の一番右...
-
エクセルマクロで偶数行(又は...
-
アクティブになっている行をマ...
-
エクセル 時間の表示形式AM/PM...
-
EXCEL VBA マクロ 別シートの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル マクロ オートフィ...
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
VBAで色の付いているセルの行削除
-
エクセル 上下で列幅を変えるには
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
AのセルとB行を比較して、一致...
-
エクセル マクロで数値が変っ...
-
結合されたセルをプルダウンの...
-
セルの色によって条件文をつけ...
-
エクセル2016で時間を入力して...
-
アクティブになっている行をマ...
-
罫線の斜線を自動で引くマクロ
-
Excelでカタカナ・ひらがな・英...
-
excel 小さすぎて見えないセル...
-
EXCELマクロを使い、空白行では...
-
エクセルマクロで偶数行(又は...
おすすめ情報