• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAの印刷方法について。)

エクセルVBAの印刷方法について

deecyanの回答

  • deecyan
  • ベストアンサー率38% (89/233)
回答No.2

#1 の訂正 です ごめんなさい × 印刷範囲を $1:$2 としてください。 ○ 行のタイトルを $1:$2 としてください。 ところで ソートはしてあるの? 不要? 不要だったら 途中からにしてください Sub insatu001() ' Sort Rows("3:" & ActiveSheet.UsedRange.Rows.Count).Select Application.CutCopyMode = False Selection.Sort Key1:=Range("F3"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin ' ソートしてあったら とか しなくて良い場合 ここから oldkey = ActiveSheet.Cells(3, 6).Text ' 最終行まで ループ For ii = 3 To ActiveSheet.UsedRange.Rows.Count 'キーが変わったか? If oldkey <> ActiveSheet.Cells(ii, 6).Text Then '改ページを入れる Rows(ii).Select ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell 'キーの入れ替え oldkey = ActiveSheet.Cells(ii, 6).Text End If Next End Sub

susu14
質問者

補足

こんにちは。 毎度ありがとうございます。 キーごとに印刷ページを分けることができました。 ありがとうございます。 ちなみに、印刷するのはTgtSheetの方で、コピー元のFrmSheetのページ設定や印刷範囲を全てコピーすることは可能なのでしょうか? 知っていましたら教えてください。 お願いします。

関連するQ&A

  • Excel VBA sort で困ってます。(初心者です)

    Excel VBA sort で困ってます。(初心者です) 行いたい事は、曜日別時間別にsortして印刷をするをやっていますがsortがうまくいきません。 sort範囲指定後、key1にRange(a1:f1) 列は月(a)~土(f) セルは時間が入っています(入っていないセルも存在します) sort後、ブレイクポイント指定して、シートを確認したが、月(a)の列のみsortされ、それ以降のsortができていません。願わくは、正しいロジック又は、どこがおかしいのか教えて頂けたら幸いです。宜しくお願い致します。

  • 印刷VBAでご教示下さい

    一つのデータ入力欄(行)を A列~H列 までとして A5A6と新しいデータを入力していますが、 データ量が多くなって印刷すると、全てが印刷されるため、必要なページ印刷を一度プレビューで 確認して範囲設定して印刷しています。 非常に手を取りますので、あるセルに入力した数字のセルをクリックすれば、入力した数字の ページのみ印刷するようなはVBA出来ないでしょうか?。 どなたか、よろしくお願いいたします。 VBAの記録と実行程度の初心者です。

  • Excel印刷範囲について

    例えば印刷範囲をB~H列に指定して、 改ページプレビューで確認してA列が印刷範囲外になっていても、 印刷プレビューで見たらA列も印刷範囲に含まれるし、 実際に印刷しても、A列が入りますよね? 左の何列かを印刷しない方法ってありますか?

  • VBAの印刷方法についてお教え下さい。

    独学でエクセル2003でVBAを初めたばかりの50男ですが宜しくお教え下さい。 セルA1~F35の範囲をコマンドボタンを使用して印刷する方法をWebサイトを覘いて試してみたのですが、なかなかうまくいかず悩んでいます。 宜しくお願い致します。

  • エクセルVBAでPDFを1枚目のみ大量に印刷したい

    エクセルVBAでPDFを大量に印刷したい PDFファイルが6000件くらいあって Aというホルダーに1.pdf,2.pdf ・・・6000.pdfといった形で保存しております エクセルのA列に必要な番号を入力し50~60件印刷します A列には必要なファイル番号のみ入れていきます 2,3,6,100,210といった形でA列に必要なデータを入れて VBAで起動させるとA1から順番にアクティブプリンターで印刷したいと おもっています。 どのようなVBAにすればいいのかわかりません。 ループで繰り返しになる感じになると思います N=N+1といった感じでA1セル.PDF 印刷 A2セル.PDF           印刷 A3セル.PDF           印刷 といった形でAに入る数字は毎回違ってきます 番号はあるけどファイルがない場合はその番号を B1列から順番に摘出するようなものを考えてます 印刷については、全部1ページのみ印刷をします。1PDFで4ページあっても先頭の1ページのみ印刷です。 どなたかお忙しいとは思いますがご教示いただけませんか よろしくお願いいたします

  • VBA 印刷範囲設定がうまくいかない

    変数cntに値を代入し印刷範囲が変わるという事を、以下のコードで実行しようとしています。 Sub Macro1() cnt = 9 Sheets("A").Activate 範囲 = Sheets("A").Range(Cells(1, 1), Cells(33, cnt + 1)) ActiveSheet.PageSetup.PrintArea = 範囲 上記のコードですと、シート「A」のセルA1~J33までが印刷範囲になると思ったのですが、実行すると全く関係ないセルまで印刷範囲になってしまいます。 「A」シートには罫線やデータが入力されているセルが他にもあり、どうやらそれらのセルも同じく印刷範囲とされてしまっているようなのです。(例えばK列に罫線が引いてあり、セルに色がついているとK列まで印刷範囲になる) Sheets("A").Range(Cells(1, 1), Cells(33, cnt + 1)).select とすれば、望みどおりのセル範囲A1~J33がきちんと選択されるのですが、印刷範囲ではなぜこのようなことになってしまうのでしょうか。

  • Excel 改ページのVBAうまくいかないです

    助けてください。EXCEL2000を使用しています。 マクロを組んでいるのですが、改ページがうまくいきません。 マクロ実行前の状態では、ページ設定で、用紙が「A3」の「縦」で拡大縮小が「79%」、データの区切りのいいところに何箇所か改ページが設定されています。 そこで、マクロを使って、A3サイズ、用紙を横、拡大縮小92%にして、尚かつ区切りのいいところ(毎回印刷範囲、区切りたいセルの位置は決まっている)で印刷できるようにしたいです。 印刷範囲は A1:P63,A64:P126,A127:P193,A194:P237,A257:P329, A330:P357,A368:P397,A401:P462 で設定したいです。 改ページしたい行を ひたすら ActiveSheet.HPageBreaks.Add Before:=Range("セル番地") で記述したのですが、 余計なところにも改ページ線ができてしまいました。(121行目の下、 351行目の下) このいらない改ページ線は、用紙を横にして、拡大縮小を92% をした時点で、ついてしまった線のようです。 余計な改ページ線を削除したいです。 なお、マクロは自動記録しかわかっておらず、 意味がわかっていないです。 お手数ですが お分かりになる方、 わかりやすくお願いいたします。

  • エクセル VBA 範囲指定方法

    エクセルVBA初心者です。 以下の範囲指定について教えてください。 一つの表のK列の一番下のセル(不定)を選択→Range("K65536").End(xlUp).Select その選択されたセルからA3(固定)まで範囲を選択したいのですが、不定セル:固定セル の範囲指定方法が分かりません。 よろしくお願いいたします。

  • Excel VBA: セルの参照方法

    Excel VBAで、セルの範囲を指定するときには、 Range("A2:B3") とやりますよね。 ここのとこで、B3セルではなくBxセルにしたいときにはどうすればいいです?。 つまり、xは変数です。 Range("A2:Bx")と書いていいのでしょうか。

  • エクセルの見出しのヘルプについて

    エクセルに以下のようなヘルプがあるのですが、何度読んでも理解できません。どのようなケースでこの方法をつかうのでしょうか?またどのような利点があるのでしょうか。 よろしくお願いいたします。 各ページに印刷タイトルが印刷されない 行や列の見出し (ラベル) が入力されているページにだけ、印刷タイトルが印刷されます。たとえば、行見出しとしてセル A1:A5 を選択すると、行 5 より下の行だけが印刷されるページには行見出しが印刷されません。また、列見出しとしてセル A1:E1 を選択すると、列 E より右の列だけが印刷されるページには列見出しが印刷されません。これらのページに見出しを印刷するには、行または列の見出しをコピーします。 追加の行に行見出しをコピーする 行見出しとして印刷するセルを選択し、 (コピー) をクリックします。 行見出しが入力されていない、同じ列のセルを選択し、 (貼り付け) をクリックします。 [ファイル] メニューの [ページ設定] をクリックし、次に [シート] タブをクリックします。 [列のタイトル] ボックスをクリックし、行見出しを入力した列全体を指定します。たとえば、列 A のセルにコピーした行見出しを各ページに印刷するには、「$A:$A」と入力します。 追加の列に列見出しをコピーする 列見出しとして印刷するセルを選択し、 (コピー) をクリックします。 列見出しが入力されていない、同じ行のセルを選択し、 (貼り付け) をクリックします。 [ファイル] メニューの [ページ設定] をクリックし、次に [シート] タブをクリックします。 [行のタイトル] ボックスをクリックし、列見出しを入力した行全体を指定します。たとえば、行 1 と行 2 のセルにコピーした列見出しを各ページに印刷するには、「$1:$2」と入力します。