1

スプレッドシートに 2 つのテーブルがあり (2 つの行で区切られたテーブルが上下に重なっています)、それらを T1 と T2 と呼びます。T1 は含まれる行数に関して動的であり、T2 は静的です。T1 がどの行で終了するかを簡単に見つけて、そこに 1 を追加するか、またはそのようにすることができます。この変数を T1EndRow と呼びます。

行 1 から T1EndRow までのすべてが印刷プレビューの最初のページに表示されるようにコーディングしたいと思います。T2 は 2 ページ目に流れます。

これどうやってするの?

4

1 に答える 1

1

HPageBreaksオブジェクトのおよびVPageBreaksメンバーを使用してSheet、水平方向および垂直方向の改ページの位置を設定します。

たとえば、T1EndRow が、1 ページ目に表示する最後の行の名前付き範囲である場合は、次のようにします。

Set ActiveSheet.HPageBreaks(1).Location = ActiveSheet.Range("T1EndRow")

T1EndRow が の場合は、次Longを試してください。

Set ActiveSheet.HPageBreaks(1).Location = ActiveSheet.Cells(T1EndRow, 1)

不思議なことに、xlPageBreakPreview モードでない限り、Excel はこの行でエラーをスローします (改ページを調整する唯一の方法です)。

ActiveWindow.View = xlPageBreakPreview
Set Sheet1.HPageBreaks(1).Location = Sheet1.Cells(58, 1)
ActiveWindow.View = xlNormalView

.Locationまた、設定したものがシートの外側にある場合は別のエラーがスローされることに気付いたUsedRangeので、要件が既に満たされていることを確認することをお勧めします。

于 2012-10-16T15:39:28.263 に答える