• ベストアンサー

[Excel]マクロについて

EXCEL 複数シートを1枚に印刷する方法(質問番号:4157606) 過去の質問を見ていたところ、上記の質問を発見しました。 その良回答に、[全シートの内容がひっついた状態で印刷プレビューが表示される]マクロが紹介されています。 このマクロなのですが、[選択したシートの内容がひっついた状態で印刷プレビューが表示される]マクロに変更することは可能でしょうか? 可能であればそのコードも教えて頂きたいです。 初心者丸出しの質問で申し訳ありません…よろしくお願いします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

↓検証はしていません。 Public Sub BOOKPRT() Dim sRow As Long, nRow As Long, eRow As Long Dim eCol As Integer, shCnt As Integer ActiveWindow.SelectedSheets(1).Activate nRow = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count sRow = nRow 'データコピー For shCnt = 2 To ActiveWindow.SelectedSheets.Count ActiveWindow.SelectedSheets(shCnt).Activate With ActiveSheet.UsedRange eRow = .Row + .Rows.Count - 1 eCol = .Column + .Columns.Count - 1 End With ActiveSheet.Range(Cells(1, 1), Cells(eRow, eCol)).Copy ActiveWindow.SelectedSheets(1).Activate Cells(nRow, 1).Select ActiveSheet.Paste nRow = nRow + eRow Next shCnt '印刷プレビュー表示。印刷ボタンを押せば印刷できます。 ActiveWindow.SelectedSheets(1).PrintOut Copies:=1, Preview:=True, Collate:=True '編集結果を元にもどす Application.CutCopyMode = False Range(sRow & ":65536").Select Selection.Delete Shift:=xlUp Range("A1").Select End Sub

Norahh
質問者

お礼

すごいです!ちゃんと動きました! 質問して本当によかったです。ありがとうございました!

関連するQ&A

  • Excel2007のVBAでPreviewすると

    初めまして。 Excel2007のVBAで困っていることがあり解決方法を探しています。 もともとExcel97で稼働していたマクロ+VBA付きのシートをExcel2007で稼働させようとしています。 マクロ・VBAで作成されたシート(sheet2)をフォームに配置した印刷ボタンをユーザーに押してもらうことでプレビューを表示します。 印刷ボタンを押したときのプレビューのコード Worksheets("sheet2").PrintOut Copies:=1, Preview:=True でプレビュー画面を表示したところ、印刷ボタンや印刷設定ボタン等の上部にあるボタンが薄いグレーの配色で押せなくなりました。 調べた結果、ScreenUpdatingがfalseだと同じ状態になるとわかったので Application.ScreenUpdating = True Worksheets("sheet2").PrintOut Copies:=1, Preview:=True と書き換えましたが、不具合は解消されませんでした。 またブックを閉じずに、マクロを再起動させて同様の動作をおこなうと 何故かちゃんとボタンが押せるプレビューが表示します。 その状態のブックを保存して改めて開くと同じようにプレビューのボタンが押せなくなっています。 同じような現象で解決された方いらしたら解決方法を教えて頂ければありがたいです。 よろしくお願いいたします。

  • MS Excel2003のマクロについて

    現在、エクセル2003のマクロを作成しています。 そこで、どうしても作成できないことが2点あります。 シート数は、60シート前後を予定しています シート名は、バラバラです。 1.アクティブシート(マクロのボタンがあるシート)以外の全シートの "C6:D36" をクリアしたい。  苦戦して作成すると、アクティブシートの"C6:D36"がクリアされ  使い物になりませんでした。 2.アクティブシート(マクロのボタンがあるシート)以外の全シートを印刷プレビューしたい。  どうしても、アクティブシートも含まれて印刷プレビューされてしまいました。 例題をあげて、回答いただきたいです。 よろしくお願いいたします。 

  • Excel2000 マクロの不具合?

    お世話になります。 当方、Windows XP(Home Edition 2002 SP2)にoffice2000をインストールして使用しています。 Excel2000において、最後に印刷プレビューが出るマクロを作成し使用しているのですが、マクロが動作しきった後、「印刷」もしくは「閉じる」のボタンを押すと、エクセルそのものが閉じてしまいます。閉じてしまったファイルを再度開こうとすると、「別のユーザーが開いています 使用者:○○○(自分のユーザー名)」となり、読み取り専用でしか開くことができなくなります。 ただし、マクロを使用しないで印刷プレビューを開いた場合は、プレビューのみ閉じることができます。 PCを再起動させても同様のことが起こり、マクロウイルスも検知できませんでした。 内容が分かりづらいかもしれませんが、どうぞよろしくお願いいたします。

  • Excel2007のマクロについての質問です。

    Excel2007のマクロについての質問です。 利用者情報を、複数枚のシートに渡って作っています。 1枚目のシートの内容の一部を2枚目に複写するに際して、 「1枚目のA5のセルの内容を2枚目のA5に表示させる」 という内容のマクロを組みたいのですが、 カーソル位置をどこに置いておいてもその内容を実行させるには どういう内容のマクロを組んだらいいでしょうか? (現状のやり方ですと、カーソルを置いた位置で実行してしまうので、 表示がずれてしまいます) 内容が分かりにくかったらすみません。 よろしくお願いします。

  • エクセルのマクロについて

    エクセルのマクロ初心者です。 マクロを使用して印刷プレビューが見れるようにしたいです。 vlookup関数を使いsheet1に入力し、sheet2,sheet3,sheet4、sheet5へデータを反映させています。 sheet1に入力画面を作成してあり、セルA2~A13に入力すればsheet2へ、セルA17~A28はsheet3へ、セルF2~F13はsheet4へ、セルF17~F28はsheet5へデータを反映する作りです。 sheet2~sheet5はフォーマットを作成してあり、印刷するとA4で2枚印刷されるようになっています。 入力画面で入力した内容によってはA4用紙1枚ですむこともあります。(A1~M15でA4用紙一枚、A1~M31でA4用紙2枚) 教えて頂きたいことは。 ・入力画面にマクロのボタンを設置し、ボタンをクリックすると印刷プレビューが表示されるようにしたいです。 ・sheet2用、sheet3用、sheet4用、sheet5用、とボタンを設置したい。 ・印刷プレビュー後に、(実際には印刷後)に入力画面を表示したい。 ・印刷プレビューが見たいのはsheet2,sheet3,sheet4,sheet5です。 以上です。 説明が下手ですみません><

  • マクロで印刷プレビュー

    マクロで印刷プレビューを設定したいのですが、 印刷用のシートには罫線を引いていないのですが、プレビューを した時に、罫線を表示させることってできますか? あと、印刷用のシートには印刷範囲が設定されているのですが、 プレビューでは印刷範囲外の文字等を表示させたいのですが、 これもマクロでできますか?

  • 一枚ずつ印刷用のマクロに複数枚設定したい

    一枚ずつ印刷用のマクロに複数枚設定したい。マクロ初心者です。Excel2007のマクロシー トを使っています。作成者は他人ですので、質問ができません。複数のシートからなるExcelファイルで、シート1に入力したシーケンス番号を2のシートのマクロを起動してポップアップに入力すると、シート1の内容が反映された印刷用のフォーマットが1枚ずつ作成されるマクロがあります。シーケンス番号は200ほどあり、ひとつひとつ設定していると時間がかかるため、シーケンス番号の範囲を指定するなどして、印刷を一気に行う方法はありませんでしょうか?質問等に不備がございましたらお知らせください。よろしくお願いいたします。

  • Excel2000で複数のシートを両面印刷したい。マクロで可能でしょうか?

    みなさん、いつもご丁寧に回答いただき有難うございます。  作業環境:    Windows XP Homeedithon    Excel2000 SP3    Canon ip4200(プリンター)  Excelで複数のシートがあり、それぞれを同時に両面印刷したい場合、現在はシート毎に印刷設定をしています。(シートを複数選択した状態で印刷設定した場合、最初に選択したシートにのみ印刷設定がされてしまうため)  その作業を簡略化するため、マクロ機能を利用して両面印刷設定をしたいのですが、そのようなことは可能なのでしょうか。マクロの作業記録機能を用い、印刷設定を試してみましたが、どうやら両面印刷のチェックは無視されたようです。  ご回答、よろしくお願いいたします。  

  • 突然Excel2002のマクロがなくなっていました

    突然Excel2002のマクロがなくなっていました Excel2002SP3を使用しています。 シートで、マクロを登録していたボタンをクリックしたところ「マクロがみつかりません」というエラーが表示されました。Microsoft Visual Basicを開いて確認すると、フォームもモジュールもなくなっていました。同じフォルダ内にあるExcelファイルのマクロも同様になくなっています。 パソコンは他の人も触れる環境にあるのですが、マクロを消す理由もないですし、そもそもマクロにパスワードをかけているので触れません。特に前後に特殊な作業をした記憶もありません。 ウィルスバスターで検索をかけてみましたが、特にウィルスは発見されませんでした。 バックアップでとっておいたExcelファイルから復元したものは、今のところマクロはつかえています。 ただマクロが消えてしまった原因がまったくわかりませんし、今つかっているものもいつ消えるかと思うと心配です。 もし原因がわかりましたら教えていただけませんか。

  • 【Excel】マクロ名の違い?

    Excel2003を使用しています。 AというブックのSheet5とSheet6にマクロを作っています。 (シート名の上で右クリック→コードの表示で表示された画面にコードを書きました) マクロの内容は、どちらもある範囲(連続していない)のデータをクリアするというものです。 「Ctrl」キーを押しながら該当セルを選択してクリアしていたのですが、毎回面倒なのでマクロボタンで処理することにしました。 (Sheet5とSheet6は、クリアするデータの範囲が違います) ボタンにマクロを登録して、実際に使ってみたところ、Sheet5の方は問題なく処理されたのですが、Sheet6の方がマクロが見つからないという内容のダイアログが出てきて、処理できませんでした。 「Alt」+「F8」でマクロ名を見てみると、Sheet5のマクロ名は『Sheet5.マクロ名』となっているのですが、Sheet6のマクロ名は『'A'!マクロ名』となっていました。 このことがSheet6のマクロが処理されないことと何か関係があるのでしょうか?また、Sheet6の方もきちんと処理されるようにするためには、どうしたらいいのでしょうか? よろしくお願いします。

専門家に質問してみよう