• 締切済み

エクセルで。

先ほど、カテゴリー違いで質問してしまったので、再投稿です。。 初めまして。エクセルVBA等の初心者なのですが教えてください。 エクセルで、表のような様式を作成し、 その中のデータは他のシートに入れ、それを次々と変更していきたいのです。 たとえば、Aというデータを様式にはめ込み印刷。 次に、Bというデータを様式にはめ込み印刷。 これが、50個あります。 様式を50個作るという方法でやろうとしましたが それではあまりにも大変なので、皆様のお知恵を貸して頂きたいです。 うまく説明できてるかはわかりませんが・・・。 よろしくお願いします。

みんなの回答

  • pulsa
  • ベストアンサー率57% (34/59)
回答No.3

物凄くざっくりですが 前提としてデータシートが50ある 51番目以降に"様式"シートがある   Dim iCnt As Integer      For iCnt = 1 To 50     Sheets(iCnt).Select     Range(Cells(1, 1), Range("A1").SpecialCells(xlCellTypeLastCell).Address).Copy     Sheets("様式").Select     Range(Cells(1, 1), Range("A1").SpecialCells(xlCellTypeLastCell).Address).PasteSpecial (xlPasteValues)     Sheets("様式").PrintOut   Next iCnt (XP/Excel2003) 連続して様式シートに『値のみ』コピー 様式シートを印刷 を50回します 後始末やなんかは考慮していません No.2さんもおっしゃる通り、ループを1 to 1にして、一度仕上がりを確認すべきです Sheets(iCnt) なんてのは正直邪道ですが、まぁ質問内容から使える材料で行うとなると、コレが一番手っ取り早いんで^^; ちゃんとやるには、どこかのセルなり、変数なりに連続してシート名を入れて、そのシート名と一致するシートに対して…と行います マクロの記憶で手動操作をVBAとしてどう書くのか見ると、やりたい事の足掛かりが見える時が多いです 1回のやり方が判れば、連続させるのは、何回か試せばすぐわかります ぜひお試しを!

全文を見る
すると、全ての回答が全文表示されます。
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.2

差込データが50個(50行)あり 一つの印刷フォームに1行づつデータを差し込み 印刷を50行分繰り返すと解釈しました 印刷データ(表)を作成します(シート名は"印刷データ"にしてください) 1行目を見出しとし、仮に項目を項目1~項目6とします 2行目からを印刷データとし、50行作成します 最終行は、1行目を見出しとしているため51行になります 次に 印刷フォームを作成します(シート名は"印刷フォーム"にしてください) 一度印刷をして、フォームの出来栄えを確認しておくことをお薦めします 印刷データの差込位置を決めます 例えば 印刷フォームのセルA1に印刷データの項目1を差し込む      〃       B2に   〃    項目2を  〃      〃       C3に   〃    項目3を  〃      〃       D4に   〃    項目4を  〃      〃       E5に   〃    項目5を  〃       〃       F6に   〃    項目6を  〃 とします ----------------------------------------------------- Sub test() Dim i As Integer Worksheets("印刷フォーム").Select For i = 2 To 51 Step 1   Range("a1").Value = Worksheets("印刷データ").Cells(i, 1).Value Range("b2").Value = Worksheets("印刷データ").Cells(i, 2).Value Range("c3").Value = Worksheets("印刷データ").Cells(i, 3).Value Range("d4").Value = Worksheets("印刷データ").Cells(i, 4).Value Range("e5").Value = Worksheets("印刷データ").Cells(i, 5).Value Range("f6").Value = Worksheets("印刷データ").Cells(i, 6).Value ActiveSheet.PrintOut Next End Sub ------------------------------------------------------------- 簡単なコマンドで組んでいるので解説はしません ヘルプを活用してください

全文を見る
すると、全ての回答が全文表示されます。
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

最初から全てVBAでやろうと思うと大変なので、標準機能でできるところは、極力使うべきです。 例えば、A1セルに入れた数字を用いて、INDEX関数で、様式中のデータを他のテーブルから参照して来る様にしておけば、 Sub test() Dim i As Long For i = 1 To 50 ActiveSheet.Range("A1").Value = i ActiveWindow.SelectedSheets.PrintOut Copies:=1 Next End Sub VBAはこれだけで済んでしまいます。

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

関連するQ&A

  • EXCEL VBA 社員名簿印刷したい

    お世話になります。 EXCEL VBAを使って社員名簿を印刷したいのです。 データというシートに社員情報が入っています。(可変ですが100名ほど) このシートに[印刷]というボタンを配置してこれをクリックしたらSheet1の様式にあてはめて 社員人数分印刷をしたいのです。 どのたかお知恵をおかりできますでしょうか? よろしくお願い致します。 EXCEL2013

  • エクセルVBAについて

    はじめてのVBAで本を読んでも使い方がわからないので教えてほしいのですが シート1にこのような表を作成して   A    B    1山田   500 2伊藤 20000 3佐藤    50 ・ ・ ・ シート2に    A   B    C 1    請求書 2 3 山田 4 500円 というような請求書を印刷していくVBAを作りたいのですが人数については10人から300人とその時々で変化するのでデータがないときは 印刷もそこで終わりという風にしたいのですが、、、 よろしくお願いします。 エクセル2003 XPです。

  • エクセルの印刷マクロについてご教示下さい。

    現在、     シート1のA列に番号(NO1~200)を、B列からG列までには各番号のデータを入れて     整理したものを、シート2で作成した印刷様式に、印刷マクロ(年賀状の宛名印刷を修正     したもの)を使って印刷を行っていますが、マクロを実行するとデータがない番号も印刷     (カラ印刷)していますので、困っています。         印刷データがない番号(例えばB列にデータがない)については、印刷しないようにする     には、どのようなコードを入れればよいのでしょうか。          VBAをはじめたばかり(素人)ですので、よろしくお願いいたします。(エクセル2003使用)

  • excel データの抽出について

    仕事でexcelの表からデータを抽出して資料を作成したいと思っています。 ≪シート1≫表から≪シート2≫表へ「1が立っているデータのタイトル(あ~お)を抜き出したいのです。どなたか方法があれば教えてください。(できればVBA等を使わないで作りたいです。) ≪シート1≫     あ い う え お A  1    1 B     1 1   1 C         1 1 ≪シート2≫ A あ う B い う お C え お

  • Excelのシートを隠す方法

    Excelにて表作成をしえおります。 1枚のシートに定価と掛け率を入れて隠したデータを作りたいのですが、シートを隠す+保護+パスワード設定をしましたが、VBAにてシートがあることがわかってしまいます。VBA画面でもシートがあることがわからないようにする方法はありませんでしょうか?できればマクロは使わない方法にてお願いいたします。

  • Excelで表に任意データを入れたい

    いつもお世話になっています Excelで悩んでいるところがあるので、ご教授をお願いします。 ExcelにシートA,シートBを用意 シートAに表を作成しまして (例) | 名前  | 備考  | | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| この表は1ページで30行分の名前データが綺麗に収まる表です。 別シートBに百数件の名前だけのデータが入っています。 (A列に数十件、B列に数十件とデータは複数列にわたって入っています) ※今はこのデータの形式ですが、データの持ち方はある程度妥協できます シートBの任意の名前データだけ複数選択し、シートAの形を使って印刷をしたいと考えています。 この時、選択したデータ件数によってはシートAの表は複数枚に渡って印刷される必要があります。 これを実現したいのですが、どのようにすればよいでしょうか? マクロでやるのか、はたまたマクロを使わずともできるのか・・・ 差し込み印刷のような感じでできないかと調べてはいるのですが、解決できそうな情報がみつかりません。 これを実現できる方法を分かる方がいましたら、お願いします。 マクロでという場合は、VBAの記述は初心者ですのでポイントだけでも詳しく教えて頂けると嬉しいです。 よろしくお願いします。

  • エクセルでエクセルへ差込印刷

    エクセルのデータベースを別シートのエクセル(雛形)へVBAで自動印刷させようと思うのですが、雛形の範囲がA4サイズの9分の1しか無く、シート単位で印刷設定すると余白だらけで、A4用紙がもったいないです。 たとえば、同じ雛形をA4サイズに9つ作成し、そこにデータベースの1~9を表示させ、印刷を行う。それ以降のデータも同じ雛形に9つ分のデータを表示させ、印刷を行うようにしたいのですが、可能でしょうか? VBAは、まだ、初歩的なことしか作成出来ない為、分かり易く、教えていただけると幸いです。

  • VBAで2シートあるデータを一度に印刷する方法

    エクセルのシート1とシート2にそれぞれシート3からデータをVLOOKで引き込むように設定をしてあります。 印刷する際に、一括印刷や指定したものだけを印刷するボタンを作成してあるのですが、そこに『シート1のみ印刷・シート2のみ印刷、シート1と2両方印刷』が選択できるようなVBAを追加することは可能でしょうか?? シート1と2はまったく違うデータを引き込んでいます。 VBAは初心者です。 よろしくお願いします。

  • wordにexcelデータの流し込み、マクロでできる?

    固定された表様式に400件程のデータを流し込みたいのですが、 Excelのデータをwordで作成した表様式に流し込むことはできるのでしょうか? 表の様式が決まっており、印刷した際の体裁を重視しています。 現在は、そのデータ(string型)を前任者が作成したマクロで、 excelで作成した表様式に流し込んでいるのですが、 データの中にスペースが複数ある場合、文中のスペースの大きさが均等でなくなるなど、印刷の体裁が悪いのです。 (例:1つのセル内に入力されるデータの一例、□はスペースです。 「6月1日□□□□a業務…□□□担当者A 改行  6月2日□□□□b業務…□□□担当者B 改行  6月3日□□□□c業務…□□□担当者C 改行 …」) excelで印刷機能があまりよくないということならば、 wordなら…と思ってexcelデータをwordに流し込む作業を記憶しようと wordマクロをいじってみたのですが、 やり方が間違っているからかうまくいきません。 excelデータをwordの表様式に流し込むのは、無理なのでしょうか? accessでも考えてみたのですが、1つのレコードの項目数が多くレコード毎にデータ量がかなりちがうし、表様式自体も列・行が入り組んでおり、不適当なようです。 うまく説明できておりませんが、 なにかよいアドバイスございましたら、ぜひよろしくお願いします。 なにしろマクロ初心者なので、 わかりやすい説明をしていただけたらありがたいです。

  • エクセルで複数のワークシートを1枚に印刷したい

    3個の表を含む書類の様式があります。エクセルで作ってあるのですが、それぞれの表のセルのデザインが非常に違っているので、それぞれの表が別々のワークシートに1個づつ作ってあります。 これを印刷する時に合成して、1枚の紙に印刷したいのですが、どうすれば良いでしょうか。 よろしくお願いします。

専門家に質問してみよう