QA@IT
«回答へ戻る

回答を投稿

全体像がいまだ見えないので、全然違うことしているのかも知れませんが。
dataに抽出結果が展開されていて、mがその件数だとすると、

template.Rows(1).Copy
data.Select
data.Rows("1:" & m).Select
Selection.PasteSpecial Paste:=xlPasteFormats
data.Cells(1, 1).Select

' とりあえずA列B列をキーとしてbreakする
For i = 2 To m
    If data.Cells(i, 1).Value <> data.Cells(i - 1, 1).Value _
    Or data.Cells(i, 2).Value <> data.Cells(i - 1, 2).Value Then
        data.HPageBreaks.Add before:=Rows(i)
    End If
Next

こんな感じのものではない…んでしょうか。
1000件あっても一瞬ですが。

投稿者:mio

全体像がいまだ見えないので、全然違うことしているのかも知れませんが。
dataに抽出結果が展開されていて、mがその件数だとすると、

    template.Rows(1).Copy
    data.Select
    data.Rows("1:" & m).Select
    Selection.PasteSpecial Paste:=xlPasteFormats
    data.Cells(1, 1).Select

    ' とりあえずA列B列をキーとしてbreakする
    For i = 2 To m
        If data.Cells(i, 1).Value <> data.Cells(i - 1, 1).Value _
        Or data.Cells(i, 2).Value <> data.Cells(i - 1, 2).Value Then
            data.HPageBreaks.Add before:=Rows(i)
        End If
    Next

こんな感じのものではない…んでしょうか。
1000件あっても一瞬ですが。


投稿者:mio