• ベストアンサー

エクセル VBA

印刷ページを指定して印刷したいのですが 以下の文章だと何処が間違いなのでしょうか。 Windows("あああ.xls").Activate Sheets("かかか").Select Dim c As Integer c = Range("A1").Value Sheets("さささ").Select ActiveWindow.SelectedSheets.PrintOut From:=1, To:=c, Copies:=1, Collate _ 仕事で詰まってしまいました。 自分のPC(エクセル2000)だと動くのですが、 他のPCへメールで飛ばしたら 最後の文章でエラーが出るそうなんですが。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

送った相手はあああシートのA1セルに数字を入れていたか? この質問のコードは、かかかとさささシートを続けて印刷したいのか?。 さささだけならなぜSelectedSheetsにしたのか? 作業グループにするなら、その操作を相手はしたのか? プログラムで、作業グループにするなら、質問のコードはダメではないか? ーー コードだけ書いて、したい内容を文章で書かないから、判りにくい。

mogurayama
質問者

お礼

早速の回答ありがとう御座います!!!!!! <コードだけ書いて、したい内容を文章で書かないから、判りにくい。 失礼しました。VBA自体初心者なので、見当はずれなことを言ってたら ごめんなさい。 A1には計算式で求められた数が入ります。 整数で、切り上げている数字です。(ラウンドアップというやつ) その数字ページだけ、「さささ」シートを印刷したいのです。 送った相手は「あああ」シートのA1に数字を入れてます。 selectedsheetsにした理由は、マクロの記録をコピペしただけです。 「プログラムで、作業グループにする」と言う意味は ど素人なのでちょっと分かりません。 こんな感じでどうでしょうか。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 こんな感じでどうでしょうね。 Sub Test1() Dim c As Integer Workbooks("あああ.xls").Activate c = Worksheets("かかか").Range("A1").Value If Val(c) > 0 Then   Worksheets("さささ").PrintOut From:=1, To:=c, Copies:=1 Else   MsgBox "ページ数が正しくは言ってないようです。" End If End Sub

mogurayama
質問者

お礼

早速のご回答ありがとう御座います!! なるほど。このように書けばよいのですね。 お2人のお陰で本日は帰れそうです。 疑問点は勉強してまいります。 夜分にありがとう御座いました!!!

すると、全ての回答が全文表示されます。

関連するQ&A