• 締切済み

印刷VBAでご教示下さい

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

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>あるセルに入力した数字のセルを n = Range(あるセル).value Sheets("印刷シート").PrintOut From:=n, To:=n  

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

関連するQ&A

  • 特定のセルに文字が入力されているページの印刷VBA

    エクセルVBAで質問が2つあります。 エクセルシートは改ページプレビューでページ毎の印刷範囲が見えるようになっています。 (1)コマンドボックスを押したらE4~E963又はB4~B963のセルに文字が入力されているページのみ印刷するVBAはどの様にすれば宜しいでしょうか? (2)コマンドボックスを押すとインプットボックスが表示され、その中に数字を入力したら、その入力されたページのみを印刷するVBAはどの様にすれば宜しいでしょうか?

  • Excel Vba でデータの範囲を知るには?

    Excelを使用していますが、マクロ(VBA)で、シートのデータの範囲を知るにはどうすればよいのでしょうか。  印刷プレビューを行うと、自動的にページ数が求めらていますが、これは、シートのデータの範囲(列及び行の最大値)を判別しているからできるのだと思います。  これを、VBAで行、及び列のMAX値を取得したいのですが、そのメソッド(プロパティ)を知りたいのです。  どなたかご教授ください。

  • エクセル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 印刷 

    エクセルの印刷に関するマクロで教えて下さい。今ページ設定のシート設定で1~8行までを固定しています。B列の9~44行までが必要に応じて数字が入力されます。そして2ページ目の50~85行までが同じく必要に応じて数字が入力されます。3ページ目の91行~126行までが又同じく必要に応じて数字が入力されます。このように10ページまであります。つまり固定した1~8行までを見出しに下に表がずらーっとあります。ここで印刷をする際に、数字の入ったページまでを印刷するマクロを作りたいのです。普通に印刷すると10ページ印刷されてしまいます。例えば12行目まで入力があるならば、1ページだけを印刷。98行目まで入力があるならば、3ページ目までを印刷といった具合です。ちなみに途中数字が空白になる事はありません。詳しい方いらっしゃいましたら、お手数ですが教えて頂けませんでしょうか。宜しくお願いします。

  • Excel マクロ・VBAの印刷方法について

    急ぎの回答です!! 関数式の入っているセル(空白表示)を印刷範囲に入れずに印刷する方法を教えてください。 別シートのデータを関数で引っ張てきてひな形のセルに表示しています。 行→$1:$6 列→$A:$Agは印 刷タイトルに設定。 A列7行目から1.2.3... とNo.が入っており、 B.~J. 列7行目からはデータが最終の50まで入力してます。( 関数式=IF(COUNTIF(コード,$S$1)<ROW(A1),"",OFFSET([元リスト.xlsx]商品一覧!A1,MATCH($S$1,コード,0),1)) ) K.~AG.列7行目からは書式データ(同じ文面の繰り返です。最終の50まで入っています)B~J列の7行目から関数(データ)=IF(COUNTIF(コード,$S$1)<ROW(A1),"",OFFSET([元リスト.xlsx]商品一覧!A1,MATCH($S$1,コード,0),1))をコピぺと一部を変更しセルへ入力して別シートからデータを引っ張てきてます。この関数だと該当する値がない場合はセルは表面上は空白セルに見えますが、セルには数式が入っている状態です。セルデータの最終行を習得し印刷に設定すると関数入力されているところで最終行と認識し、関数式を入れている50行まで印刷してしまいます。 したいことは、データが表示されている30行までなら30行まで印刷という感じにはできないでしょうか? シートを様式一枚ずつ作成しており、1ブックには20シートずつ保存しています。そしてこのブックはおよそ30ブックあります。 1ブック内の全てのシート(20シート)に反映できるようしたいです。 ※30行までデータが表示されている場合、C~Jには途中とちゅうで空白欄がありますが、B列は30行全てデータの表示(該当する場合)されます。 Excel マクロ VBA に詳しい方回答お願いします! B7からはB56まですべて関数式を入力しています(最大50までデータが表示されるように) シート枚数と、元のデータ数が行で7000程とかなり多く、このような関数式になりました。できればマクロ、VBA等での処理が望ましいです(時間がないので><)よろしくお願いいたします!!!

  • 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がきちんと選択されるのですが、印刷範囲ではなぜこのようなことになってしまうのでしょうか。

  • VBA:各ページの先頭セルを選択するコマンドを教えてください

    VBA:各ページの先頭セルを選択するコマンドを教えてください --Page 1------ A列 | B列 1 | 4 2 | 5 3 | 6 --Page 2------ 7 | 11 8 | 12 9 | 13 10 | 14 --Page 3------ ... 元は印刷用に作ったこのような表があります。A列だけにして、数字順にずらっと並べ替えたいと思っています。 各ページの行数はバラバラで、規則性がありません。実際に入力されているデータは連番ではなく任意の文字列(ページごとにタイトルなどもなく規則性もありません)です。 作ろうとしているマクロは、各ページの末尾にそのページで使われている行数分だけ行挿入→そのページのB列をカット&ペーストでA列のお尻に付けるというものです。 各ページの先頭セル/末尾セルを指定するコマンドがわかれば実現できると思うのですが調べても見つけられませんでした。 (ページ関連となると印刷系ばかりで、、) 恐れ入りますが、お教えいただけますでしょうか。

  • VBA 行の削除

    全くの初心者で、初めて質問させていただきます。 A列には、数字・空白・文字を入力したセルが混在しています。 そのA列の数字の内 0 のセルが入力されている行のみを削除するVBAの記述の仕方を教えて下さい。 宜しく御願い致します。

  • エクセルのVBAで

    ある列(仮にA列とします)の最終行がA30であり A25までは空白だとします。 この時に、A30の値をA29~A25=データの入力されていないセルに入力(コピー)するにはVBAでどのように記述すればいいのでしょうか? 最終行から、上にその最終行の値をデータの入力されているセルに達するまで入力(コピー)したいのですが。 分りづらい表現で申し訳ありませんが、よろしくお願い致します。

  • VBAを使って印刷範囲の設定方法を教えてください

    VBA初心者です。 VBAを使用して、データの印刷範囲設定をしたいのですが、 以下の条件で設定する方法がわかりません。 教えてください。  行: データ全体を印刷範囲とする。  列: データがL列より少ない場合は、L列までを範囲として、     それ以上ある場合はデータ全体を印刷範囲とする。

専門家に質問してみよう