Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1961 / 13645 ツリー ←次へ | 前へ→

【70781】マクロがうまく走りません 超初心者です。 11/12/30(金) 9:55 質問[未読]
【70784】Re:マクロがうまく走りません ichinose 11/12/30(金) 11:43 発言[未読]
【70786】Re:マクロがうまく走りません UO3 11/12/30(金) 12:02 回答[未読]

【70781】マクロがうまく走りません
質問  超初心者です。  - 11/12/30(金) 9:55 -

引用なし
パスワード
   vlookupを使ってセルEC14の数字を1ずつ上げながら、
領域 A1:DM183 を10枚印刷するコードを書いたのですが、
実際にはしらせてみると

「実行時エラー1004」「アプリケーション定義またはオブジェクト定義のエラーです」と表示され、

デバックをかけると

「Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False」
の部分が黄色く表示されます。

何がいけないのでしょうか?


Sub 繰り返し印刷する()
'
' 繰り返し印刷する Macro
'

'

  X = 1
  Do While X < 11
 
  
   Range("ec14") = X
  
   Range("A1:DM183").Select
   Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
   Range("EC14:EW24").Select
   X = X + 1
  
  Loop
 
  
End Sub

【70784】Re:マクロがうまく走りません
発言  ichinose  - 11/12/30(金) 11:43 -

引用なし
パスワード
   ▼超初心者です。 さん:
こんにちは。

>   Selection.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False

ここを
   Selection.PrintOut

このようにしてみると、どうですか?
エラーには ならなく なりませんか?

目的の印刷になるかどうかは、???ですが・・・・。

【70786】Re:マクロがうまく走りません
回答  UO3  - 11/12/30(金) 12:02 -

引用なし
パスワード
   ▼超初心者です。 さん:

こんにちは
おそらく、2007か2010でマクロ記録をしたコードをベースにしておられますね。
2003 でマクロ記録しますと IgnorePrintAreas:=False は生成されません。
IgnorePrintAreasはシートのPrintOutの引数で、領域のPrintOutでは、これがありません。
それなのに、マクロ記録では、印刷され、かつ、このコードが生成されますね。
2007(または2010)のマクロ生成のバグでしょうか?
Selection.PrintOut Copies:=1, Collate:=True だけでお試しください。

ところで、ループ回数が決まっていますからFor/Nextのほがちょっとスマート?
それと、Select/Selection をしないで記述する方が、ちょっと上級の香り(?)
さらに、コードの最後の Range("EC14:EW24").Select は不要ですよね。

Sub 繰り返し印刷する()
'
' 繰り返し印刷する Macro
'

'
  Dim X As Long
  
  For X = 1 To 10
 
 
    Range("ec14") = X
    
    Range("A1:DM183").PrintOut Copies:=1, Collate:=True

  Next
 
End Sub

1961 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free