• ベストアンサー

マクロ初心者です

マクロ初心者です 同じSheet内で範囲印刷を設定してある場合で、 A1に1のデータが入力されている場合範囲印刷(セル)の1ページだけ印刷し、 A2に1が入力されている場合2ページ目を印刷するように、 A列のデータ入力状況で範囲印刷のページを操作するマクロを教えてください。

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

  • ベストアンサー
  • mar00
  • ベストアンサー率36% (158/430)
回答No.3

Sub Macro1() For i = 1 To Range("A" & Rows.Count).End(xlUp).Row If Range("A" & i).Value = 1 Then ActiveWindow.SelectedSheets.PrintOut From:=i, to:=1, Copies:=i, Collate _ :=True End If Next i End Sub でどうでしょうか。 ところで質問する前に、マクロを記録してみたり、調べたりはしたのでしょうか。 Sub Macro1() Range("A1").Select ActiveWindow.SelectedSheets.PrintOut From:=1, to:=1, Copies:=1, Collate _ :=True End Sub いくら初心者といっても上記のマクロくらいまではできたのではないでしょうか。 質問して回答を得て、コピーして出来たら終わりではいつまでたっても初心者のままです。 自分で出来るところまで作ったものを、どこをどう直せば出来るかを質問して、 得た回答を見て、わからないところがあったら調べるようにした方が上達も早いと思います。 今回の質問は、自力で何とか出来たのではないかと思いましたので 余計な事も書かせてもらいました。すいません。

hashihasi
質問者

お礼

回答ありがとうございます。 前回もお世話になりましたね! ホントにそうですね!自分の甘さに痛感したました。 ただ、回答を求めるのではなく、自分で出来る所まで作成し質問するよう次回より心がけたいです。 ただ、本当の初心者なので、サイト・本等で調べたのですがなかなかうまくいかなかったので・・・ よろしければ、参考になるサイト勉強方法があればご伝授いただければうれしいです! ちなみに、上記のマクロぐらいも出来ないほどの初心者です。 でも、マクロを覚えたいのでよろしく、おねがいします!

その他の回答 (2)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

Sub test() For i = 1 To Range("A" & Rows.Count).End(xlUp).Row If Range("A" & i).Value = 1 Then ActiveWindow.SelectedSheets.PrintOut From:=i, to:=i, Preview:=True End If Next End Sub こんな感じでしょうか。

hashihasi
質問者

お礼

早々のご返事ありがとう ございます 是非試させていただきます! マクロの記述方法(内容)も勉強させていただきます ありがとうございました。

  • kei_su
  • ベストアンサー率33% (35/106)
回答No.1

こんなんでどうでしょうか? Sub Macro()   Dim 印刷頁 As Integer   印刷頁 = 0   Range("A1").Select   Do While ActiveCell.Value <> ""     印刷頁 = 印刷頁 + 1     ActiveCell.Offset(1, 0).Select   Loop   If 印刷頁 <> 0 Then     ActiveWindow.SelectedSheets.PrintOut From:=印刷頁, To:=印刷頁   End If End Sub

hashihasi
質問者

お礼

早々のご回答ありがとう ございます! 是非試させていただきます!

関連するQ&A