2017-02-24 1 views
2

VBAとExcelの新機能です。 私は、ドキュメント印刷領域を設定するコードは機能しません。

Dim count As Integer 
count = ThisWorkbook.Worksheets("sheet2").Range("E106").Value 

    Dim i As Integer 
    i = count + 4 


    Sheets("sheet1").PageSetup.PrintArea = Range(Cells(3, 2), Cells(35, i)) 
    End Sub 

しかし、私は印刷プレビューに行くときに、完全なシートが表示されているために印刷領域を設定し、コードを持っています。 Sheet1とSheet2はワークシート名のエイリアスですが、それらを参照する他のコードがあり、うまく動作します。私はすでに、最初の場所に印刷領域を設定するマクロを記録してから、私のカスタム範囲を挿入しようとしました。 私が間違ってやって上の任意の助けいただければ幸いです:)

+0

レコードマクロを、印刷領域を設定し、それを行うための例えばマクロソースを表示します。 –

+0

こんにちはケン、それはまさに私がやったことです、その後、私はカスタム1に範囲を変更しましたが、それは動作しません –

+0

それはあなたが設定している範囲が正しくないように見えるでしょうか? –

答えて

4

PageSetupPrintAreaプロパティは、オブジェクト(range)が、所望の範囲のアドレスを保持stringではありません。

With Sheets("sheet1") 
    .PageSetup.PrintArea = .Range(.Cells(3, 2), .Cells(35, i)).Address 
End With    '          ^^^^^^^^ 
1

ビットより高度なバージョン(試験):この試みる

With ThisWorkbook.Worksheets("Sheet1") 
    .PageSetup.PrintArea = .Range("offset(B3,0,0,32,Sheet2!E106+2)").Address 
    .DisplayPageBreaks = False ' optional to hide the print area rectangle 
End With 
+0

これは素敵で便利なショートカットですが、私はdownvoteを理解していません。 –

+0

@ A.S.H誰かがあなたに似ていると思われるか、または異常なオフセット機能のために間違っていると思う人もいると思います。とにかくそれを残すだろう – Slai

+0

私はあなたがそれを残すべきだと思う、珍しいが、プロにとって非常に便利ですが); –

関連する問題