- 締切済み
エクセル 指定したページのみ印刷プレビュー
Sub PrintPreview() Dim i As Byte Dim r As Range For Each r In Selection i = r.Value ActiveWindow.SelectedSheets.PrintPreview From:=i, To:=i Next End Sub 標題の通りシート内に31ページ分印刷範囲のデータがあります とびとび印刷したいのですが よくできませんでした。 どこなの列に印刷したいページ番号を入力し、そこを範囲で囲み指定した番号のページのみ印刷をかけたいです。 よろしくお願いします。 例 C1からC5まで 2 5 10 14 25 の印刷ページ番号を入力し C1~C5を範囲で囲みマクロ実施後 プレビューに移行したい。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7940)
関連するQ&A
- VBAに範囲を指定して印刷
特定のセルに数字を入力することでVLOOKUPで印刷ページを 検索して指定できるシートを作成しています。 下記のようなVBAを作成しました。 印刷開始ページと印刷終了ページを指定する場合、 セルの指定はどのようにすれば、よいのでしょうか? 開始ページと終了ページが同じセルの為、 開始ページ=Rnage("セル") 終了ページ=Rnage("セル") としてしまいますと、エラーが出てしまいます。 Sub 印刷() Dim S As Long Dim B As Long S = Application.InputBox("印刷開始ページを入力", Type:=1) If 開始ページ = 0 Then Exit Sub B = Application.InputBox("印刷終了ページを入力", Type:=1) If 終了ページ = 0 Then Exit Sub ActiveSheet.PageSetup.Order = xlOverThenDown ActiveWindow.SelectedSheets.PrintOut _ From:=S, To:=B, Collate:=True End Sub 宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- VBAエクセルにて印刷
こんにちわ。教えてください。VBAでActiveXコントロールをクリック したのち、印刷のプレビューを表示したら、MegBoxメッセージを表示 させ ”はい””いいえ”を選択したいのですがうまくいきません。 ちなみに下記のプログラムです。 Private Sub 印刷_Click() ActiveWindow.SelectedSheets.PrintPreview Dim ans As Integer ans = MsgBox("印刷しますか?", vbInformation + vbYesNo, "確 認") Select Case ans Case vbYes Application.ActivePrinter = "Canon iR C3080/C3580 LIPSLX on Ne05:" ExecuteExcel4Macro "PRINT(2,1,1,1,,,,,,,,2,,,TRUE,,FALSE)" Case vbNo MsgBox "故障履歴印刷をキャンセルします。" End Select End Sub 以上なんですがプレビュー後に”印刷しますが”が聞いてきません。 どうすればいいですか?
- 締切済み
- オフィス系ソフト
- EXCEL VBA(初心者)印刷ループについて
こんばんは。 EXCEL VBA初心者です。 以下のような印刷ループのVBAを作りました。 (シート1にデータを入力しシート2で印刷) Sub 連続印刷() Dim x As Integer x = Application.InputBox( _ prompt:="先頭ページの番号を入力してください") Y = Application.InputBox( _ prompt:="最終ページの番号を入力してください") line: Worksheets("1").Select Range("B1").Select For i = x To Y 'ループ開始番号と終了番号を追加 ActiveCell.FormulaR1C1 = i '変数 i を代入するように修正 ' Range("B1").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next i '次へループ End Sub というものです。 以下の問題点を改善したいのです。 (1)開始番号と終了番号のいずれかが ”空白”の場合は VBAを中止し何も印刷しない(何もメッセージを表示しない) (2)開始番号が終了番号より数字が大きい場合も(1)と同様の処理にしたい というものです。 初心者のためご教授ください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセル マクロで教えてください
下記のマクロがうまく働きません SUB印刷01は単独ではいくのですが、繰返しをするとプレビューの行で止まります。SHEETオブジェクトがおかしいというのですが私には分かりません宜しくお願いします Sub 印刷01() With ActiveSheet.PageSetup .PrintQuality = 600 .CenterHorizontally = True .CenterVertically = False .Orientation = xlLandscape .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 47 .PrintErrors = xlPrintErrorsDisplayed End With ActiveWindow.SelectedSheets.PrintPreview ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate:=True End Sub Sub 印刷繰返し() Dim WS As Object For Each WS In Sheets WS.Activate Call 印刷01 Next End Sub
- ベストアンサー
- オフィス系ソフト
- エクセルで連続印刷した範囲を印刷済とわかるように
エクセルで以下のようなプログラムで変数s、eに入力の範囲でシートの連続印刷しております。印刷し終わった後ですが、変数s~eの範囲を赤くして印刷済かどうかをひと目でわかるようにしたいと思います。可能でしょうか。 Sub 範囲を指定して印刷() Dim s As Long Dim e As Long Dim i As Long On Error Resume Next s = InputBox("開始No.を入力して下さい。") If s = 0 Then Exit Sub e = InputBox("終了No.を入力して下さい。") If e = 0 Then Exit Sub For i = s To e Worksheets("A").Range("C1") = i Application.Wait Now + TimeSerial(0, 0, 10) Worksheets("B").PrintOut Next i End Sub
- 締切済み
- Excel(エクセル)
- エクセル マクロ 印刷指定
マクロが解りません。色々調べてマクロの記録を使って、下記のマクロを作りました。 1枚目の印刷を2枚目、3枚目印刷として書き足してみました。 しかしエラーが出て2番目のシートからの印刷ができません。 Sub 連絡票印刷() ' ' Macro1 Macro ' ' Keyboard Shortcut: Ctrl+p ' Sheets("連絡票").Select ActiveWindow.SelectedSheets.PrintOut From:=Sheets("連絡票").Range("p1").Value, To:=Sheets("連絡票").Range("q1").Value, Collate:=True, IgnorePrintAreas:=False Sheets("予定表").Select ActiveWindow.SelectedSheets.PrintOut From:=Sheets("予定表").Range("y1").Value, To:=Sheets("予定表").Range("z2").Value, Collate:=True, IgnorePrintAreas:=False Sheets("配車表").Select ActiveWindow.SelectedSheets.PrintOut From:=Sheets("配車表").Range("s1").Value, To:=Sheets("配車表").Range("t2").Value, Collate:=True, IgnorePrintAreas:=False Dim str As String str = Worksheets("連絡票").Range("r1") Worksheets(str).Select End Sub いろいろ解らないなりに書き換えをしてみましたが、やっぱり2番目のシートから印刷ができません。 教えていただけませんでしょうか。
- ベストアンサー
- Excel(エクセル)
- Excel で一つのシートを2枚に分けて印刷(:2)
前に印刷範囲のマクロ設定を教えていただきました。 __________A______B_____C_____D 1_______名前____金額__日付__ 2______あああ__55555___6___kkk 3______いいい__________6___hhh 4______ううう__33333___6___ppp --------------------------------- 5______えええ__44444___8___ggg 6______おおお__77777___8___lll 7______あいう__22222___8___rrr 8 9_______合計_iiiiii_____________ 8 の空行と 9 の合計行がある場合、印刷範囲を A1:D4 と A5:D7 までとし、合計欄は印刷範囲外とするにはどうしたらよいでしょうか。教えて下さい。よろしくお願いします。 8,9 行がない場合は次のコードでした。 Sub Test() Dim i i = 3 Do Until Cells(i, 3) = "" If Cells(i, 3).Value <> Cells(i - 1, 3) Then Rows(i).Select ActiveWindow.SelectedSheets.HPageBreaks.Add _ Before:=ActiveCell End If i = i + 1 Loop 'ActiveSheet.PrintOut End Sub
- 締切済み
- オフィス系ソフト
- No.を指定して印刷したい
以前に、『EXCELでNo.を変えて印刷したい』というタイトルで質問をしてVBAの記述を教えてもらって解決したのですが、引き続き利用することになりできればVBAの画面からではなくEXCEL上でNo.を指定して印刷をしたいのですが、どうすればいいでしょうか? im i As Integer For i = 1 To 500 ←この部分を印刷指定ボタンを押せば番号を入力できるようにしたい!(例:管理No.0100~0120と入力したら管理No.が0100~0120の20枚が印刷される) Range("A1").Cells = "No." & Format(i, "0000") ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True DoEvents Next i
- 締切済み
- オフィス系ソフト
- 【エクセル】 連続印刷する際のマクロの記述について。
いつも大変お世話になっております。 エクセル2003のマクロの記述についてご教示のほど お願いいたします。 シート2にシート1の名簿から住所氏名等を落とし込み出来るように様式を作っています。 このシート3には、以下のVBAが設定してあります。 ********************************** Sub osieteinsatsu02() ' Dim start As Long Dim stp As Long Dim i As Long start = Range("a1") stp = Range("c1") For i = start To stp Range("a1") = i Sheets("Sheet2").Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Sheets("sheet3").Select Next End Sub ********************************** ↑ このシートのA1の値(名簿番号)~C1の値の人のデータをシート2に落とし込み、 シート2に行き様式を一枚印刷する。 このように記述してあると思います。 ところで、様式の中に複数名をまとめたいと思いますので、例えば、A1の値を変えるときに4つ置きに変化させるにはどのように記述すれば良いのでしょうか? 1、6、11、16、、、C1の値までで止まる。 どうぞよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ブックの中の1枚だけ選んで印刷したい
win7とExcel2007でマクロ作成中の初心者です。 以下、ファイルの中の複数シートを印刷できました。 Private Sub 請求書印刷_Click() Application.ScreenUpdating = False Unload Me 請求書の印刷100 '請求書印刷 Worksheets(1).Select ActiveWindow.DisplayHorizontalScrollBar = False End Sub Sub 請求書の印刷100() ' Dim i As Integer For i = 1 To Worksheets.Count - 8 With Worksheets(i) If .Range("F11").Value <> 0 Then .PageSetup.PrintArea = "$B$1:$U$44" .PrintOut End If End With Next i Worksheets(1).Activate End Sub ------------------------------------ 今度は、同一のファイルから、指定の単一のシートを印刷したいので 以下のコードを実行すると、 Private Sub 単数印刷_Click()' Application.ScreenUpdating = False Unload Me Unload G印刷 Dim i As Integer With 名簿リスト2 For i = 0 To .ListCount - 1 If .Selected(i) Then 請求書の印刷範囲200 ' Worksheets(.list(.ListIndex)).PrintPreview Worksheets(Split(.list(.ListIndex - 0), " ")(1)).PrintPreview ' End If Next i End With ActiveWindow.DisplayHorizontalScrollBar = False GH印刷.Show End Sub Sub 請求書の印刷範囲200() ' ActiveSheet.Unprotect Dim i As Integer For i = 1 To Worksheets.Count - 8 With Worksheets(i) .PageSetup.PrintArea = False '印刷範囲のクリア If .Range("F11").Value <> 0 Then .PageSetup.PrintArea = "$B$1:$T$44" End If End With Next i Worksheets(1).Activate End Sub 以下の行が黄色くなりマクロがエラーとなり停止します。 エラーは 実行時エラー9 インデックスが有効範囲にありません となります。 Worksheets(Split(.list(.ListIndex - 0), " ")(1)).PrintPreview ' これと同様のファイルで試すと何なく1枚だけ印刷できました。 このエラーの原因はなんでしょうか?解決方法を教えてください。
- 締切済み
- Visual Basic