2017-03-14 5 views
2

これは私が現在持っているコードです - そして、私は1004ランタイムエラー範囲を取得し続けます。どのように私はこれを修正することができる任意のアイデア? Sheets("KPIs").ActivateExcelからPDFへの複数の範囲

Sub ToPDF() 
' 
' Macro2 Macro 
' 

' 
    Sheets("KPIs").Select 
    Range("B3:Y46,AA3:AX46,AZ3:BW46,BY3:CV46,CX3:DU46,DW3:ET46,EV3:FS46,B48:Y91,AA48:AX91,AZ48:BW91,BY48:CV91,CX48:DU91,DW48:ET91,EV48:FS91,B93:Y136,AA93:AX136,AZ93:BW136,BY93:CV136,CX93:DU136,DW93:ET136,EV93:FS136,B138:Y181,AA138:AX181,AZ93:BW181,BY138:CV181,CX138:DU181").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
      "C:\Users\strzelecki-e\Desktop\Macros\KPIs.pdf", Quality:=xlQualityStandard, _ 
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 

End Sub 

答えて

0

変更Sheets("KPIs").Select。特に、新しいバージョンのExcelでは、エラーが発生すると報告されています。.Selectあまりにも長いです

Range("B3:Y46,AA3:AX46,AZ3:BW46,BY3:CV46,CX3:DU46,DW3:ET46,EV3:FS46,B48:Y91,AA48:AX91,AZ48:BW91,BY48:CV91,CX48:DU91,DW48:ET91,EV48:FS91,B93:Y136,AA93:AX136,AZ93:BW136,BY93:CV136,CX93:DU136,DW93:ET136,EV93:FS136,B138:Y181,AA138:AX181,AZ93:BW181,BY138:CV181,CX138:DU181")

。見積もりの​​間には255文字の制限があり、現時点では260文字があります。最後の部分だけを削除して255文字に短縮すると、それは機能します。

は、別の方法としては、次の操作を行うことができます。

Dim r As Range 

ThisWorkbook.Worksheets("KPIs").Activate 

Set r = ThisWorkbook.Worksheets("KPIs").Range("B3:Y46,AA3:AX46,AZ3:BW46,BY3:CV46,CX3:DU46,DW3:ET46,EV3:FS46,B48:Y91,AA48:AX91") 
Set r = Union(r, ThisWorkbook.Worksheets("KPIs").Range("AZ48:BW91,BY48:CV91,CX48:DU91,DW48:ET91,EV48:FS91,B93:Y136,AA93:AX136,AZ93:BW136,BY93:CV136,CX93:DU136,DW93:ET136,EV93:FS136")) 
Set r = Union(r, ThisWorkbook.Worksheets("KPIs").Range("B138:Y181,AA138:AX181,AZ93:BW181,BY138:CV181,CX138:DU181")) 
r.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
    "C:\tmp\KPIs.pdf", Quality:=xlQualityStandard, _ 
    IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True 

は基本的に、私は単にあなたが求めて最終的範囲にunionでそれらを一緒にいくつかの短いビットに範囲を分割し、addています。

+0

コードは機能しますが、グラフが小さくなり、チャートの2つが同じページに表示されるという問題があります。 – Emily

+0

チャートのサイジングと同じページの2つのチャートを偶然手助けできますか? そして、まだ私はまだまだ初心者であると思います:) – Emily

+0

新しい質問があれば、新しい質問を投稿してください。私はそれを見て喜んで(ここの他のすべてのように)。しかし、PDF結果の書式を変更したいと思うことは、私には大変聞こえます。しかし、ページ区切り、ズーム、ページレイアウトを定義せずにそうすることは、ほとんど不可能です。したがって、おそらく、印刷目的でのみ新しいExcelファイル(またはシート)を作成する必要があります。このExcelファイル(またはシート)では、上記のコマンドを使用して、必要なものすべてを適切にフォーマットしてPDFに印刷できます。 – Ralph

関連する問題