• ベストアンサー

エクセルのマクロで別のSheetを印刷

Sheet3にデータが次のようにあります   A   B    C 1 100   りんご  赤 2 150   ぶどう  紫 3 120   かき   青 Sheet2のA-1に数字を入れるとSheet3の行を以下のように 表示させるようにしています *1を入れた場合  A   B    C   D 1 1   100   りんご  赤 *2を入れた場合  A   B    C   D 1 1   150   ぶどう  紫 そのSheet2をSheet1に反映させ、Sheet1を印刷します ●以上のように設定している場合Sheet2でマクロを組んで、1だけ入れた場合の印刷、1から3までを入れた場合の印刷(3種類が印刷れる)などを指定できる方法はないでしょうか? どなたか、よろしくお願いします。    

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>Sheet1に反映させ、Sheet1を印刷します. Sheet1はどういう様式ですか ーー これもやりたいことだけ書いて、マクロの記録も勉強していない風な質問。 私がいままで請求書などで回答した方式が使えれば下記になる。 関数利用の折衷式です。 例データ 100 りんご 赤 150 ぶどう 紫 120 かき 青 Sheet1の様式を 納品表 価格 100 商品 りんご 種別 赤 とする。 100のところは =INDIRECT("sheet3!A"&G1) りんごのところは =INDIRECT("sheet3!B"&G1) 種別のところは =INDIRECT("sheet3!C"&G1) 印刷域外のG1に1と入れたところが上記の状態。 標準モジュールに Sub test01() d = Worksheets("Sheet3").Range("A65536").End(xlUp).Row ' MsgBox d For i = 1 To d Worksheets("Sheet1").Range("G1") = i Worksheets("Sheet1").Range("A1:F7").PrintOut Next i End Sub

その他の回答 (2)

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.2

ぁ >Sheet2の例えばF1に1、G1に3を入れた場合は、1から3を印刷。 でしたか。 Sub try2()   Dim i As Long      With Sheets("sheet2")     For i = .Range("F1").Value To .Range("G1").Value       .Range("A1").Value = i       Sheets("sheet1").PrintOut preview:=True     Next i   End With End Sub こんな感じです。

  • pauNed
  • ベストアンサー率74% (129/173)
回答No.1

こんにちは。 >そのSheet2をSheet1に反映させ これは、関数などですでに設定できているのですね? 『Sheet2でマクロを組んで』 ...の部分が少し不明ですが、例えば以下のような事でしょうか? Sub try()   Dim x As Variant   Dim i As Long   x = Application.InputBox("NO?(ALL=4)", Type:=1)   If VarType(x) = vbBoolean Then Exit Sub   Select Case x     Case 4       For i = 1 To 3         Call prt(i)       Next i     Case 1, 2, 3       Call prt(CLng(x))   End Select End Sub Sub prt(ByVal n As Long)   Sheets("sheet2").Range("A1").Value = n   Sheets("sheet1").PrintOut preview:=True '確認できたらpreview:=True不要 End Sub

ponpa22
質問者

補足

表現が悪くすみません。 Sheet2の例えばF1に1、G1に3を入れた場合は、1から3を印刷。 F1に1、G1も1の場合は1のみを印刷するようにしたいのですが。 よろしくお願いします。

関連するQ&A

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

    A B C   1 3 りんご 2  赤 3 くだもの 4 6 みかん 5 オレンジ 6 くだもの 7 9 ぶどう 8  紫 9 くだもの というデータがシート1にあったとして、シート2のa2セルに6と入力すると以下のようにa5セル以降に抽出し、6という入力を消すと抽出したものも消えるようなマクロを教えていただきたいです。どうかよろしくお願いします。 6 みかん  オレンジ  くだもの

  • エクセルで別シートから一つのシートに低い数字を表示

    エクセルで同一形式の8枚の別シートから1枚のシートへ一番価格が低いものを表示させたいんです。さらに表示させたシートの色に表示させる様にしたいです。 例  シート1 シート色赤 A 100 B 200 C 300 シート2 シート色青 A 200 B 100 C 300 シート3 シート色黄 A 300 B 200 C 100 合計シート A 100 赤 B 100 青 C 100 黄 数字だけでも表示できると助かるのですが やはり色もつけるとなるとマクロを組まないといけないのでしょうか?

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

    一つのセルに以下のマクロを設定したいです。 [Aシート] A1~B30の表があります。 A1~A30セルには、有 or 無 が入力されています。 B1~B30セルには、りんご、みかん、ばなな など物の名前(重複なし)が入力されています。 [Bシート] C3セルに、AシートのAセルが"有"だったら、Bセルの値を反映させたいです。 ※例えばAシートが以下の時 ----------------------   A  B 1 有  りんご 2 有  みかん  3 無  ばなな 4 無  いちご 5 有  ぶどう 6 無  ぱいん 7 有  びわ ・ ・ ------------------------ BシートのC3セルに、AシートBセルの値を"折り返して"表示する。   A  B  C 1 2 3      りんご        みかん        ぶどう        びわ 4 ------------------------ OS:Windows XP sp3 エクセル:Microsoft Office Excel 2003 sp3 ご存知の方がおりましたらご教授ください。

  • エクセル ブック内のシート間での行の参照?

    エクセルの同じブック内のシート間で、セルを参照するのではなく、行参照?させたいのですが・・・。 例えば、、  シート1    A    B    C    D     1行目 りんご みかん いちご ぶどう     2行目 赤    オレンジ  赤   紫 と入力すると同じようにシート2にも入力されるようにしたいのと、1行目と2行目の間に行を挿入しても同じようにシート2にも挿入されたり、 さらにはA列・B列のみ入力されたりするようにしたいのですが、(C列D列には別々のデータを入力したい)どのような方法がありますでしょうか?説明がわかりにくく申し訳ないのですが、宜しくお願いします。

  • エクセルマクロでシート名を条件にする方法

    エクセルマクロで、 たとえば、「りんご」「ぶどう」「みかん」「いちご」「なし」という5つのシートがあって、 シート名が「りんご」「みかん」「いちご」のシートはシートの色を赤にして、その他のシートはシート色を青にする、といったことをしたいのですが、マクロではどのようにしたらよいのでしょうか。 実際にはシートが20シートあり、手処理で色を変更するという単純作業をやっているため、自動化したいと考えています。 マクロについては初心者のため、自分ではどのように書いたらよいかわかりませんので、どうかよろしくお願いいたします。

  • エクセル複数のシート集計で困っています。

    シート1のデータを ほかの複数のシートにそれぞれ集計しようと思うのですが、いくつかの箇所がうまくできません。お分かりになる方教えていただけないでしょうか。 シート1にデータがあります。     A   B   C    D 1  100   90   80   100      単価 2  もも  りんご ぶどう  リンゴ    名称 3  山梨  青森  長野  長野     適用 4   5    0    10    5       注文a 5   7    9     2    5       注文b シート2(4行目のデータ集計・注文b)    A    B   C     D 1  もも  5   100    山梨 2 3 ぶどう 10   80    長野 4 りんご  5   100   長野     シート1に注文数がある場合 シート2 シート3・・・それぞれB列に数量が自動で入るように設定しています。 数字が入った場合だけA列・C列・D列の内容がシート1のセルから自動で入るよう設定したいのですが、うまくできません。  (シート1のデータはいろいろ変わります。) どなたか、アドバイスいただけないでしょうか?よろしくお願いいたします。

  • エクセルで範囲内のデータを別シートにうつしたい

    エクセルで特定の範囲内の数値にあてはまるデータを別のシートに新たな表として作成したいのですが、簡単な方法があれば教えてください。 例えば Sheet1   A   B     C  1 25  ミカン   3000 2 30  リンゴ   4500 3  5  メロン   9800 4 17  ブドウ   1800 5 50  バナナ  1000 このようなデータを次のような表にしたいのです。 A列の数値が10~30のみ行ごと抜粋する Sheet2   A   B     C  1 25  ミカン   3000 2 30  リンゴ   4500 3 17  ブドウ   1800  よろしくお願いいたします。

  • エクセル教えて下さい。

    教えて頂きたいのですが。 指定したものだけを残したいのですが全然わかりません。 仕事でデータ量が多くて一括で操作したいのですが。 1シート A りんご 2 赤 B ばなな 3 黄 C とまと 4 赤 D なすび 2 紫 質問 AとCの行を残し他は削除したいのですが、どうしたらいいですか? 1シート A りんご 2 赤 C とまと 4 赤 宜しくお願いします。

  • エクセル2007のマクロで検索

    マクロ初心者です。 どうぞよろしくお願いします。 sheet1のB1セルに都道府県名を入力すると、sheet2にある市町村名を抽出して、sheet1のB列(B3以降)に 反映したいのですが、どうぞご教授下さい。 (1)sheet1のB1セルに都道府県(例えば沖縄)を入力 (2)sheet1の適当な場所に『検索』ボタンを配置して、このボタンを押すと検索開始 (3)sheet2を検索して、ヒットした列の値(市町村)とセルの色をsheet1のB列に反映  この時、ヒットした列(都道府県)の値(市町村)の数はそれぞれ違うので、フレキシブルに反映 <sheet1>  B1 ⇒ 都道府県入力欄  B列(B3以降) ⇒ sheet2の値(市町村)を反映(都道府県により値の数は違います) <sheet2>  B2⇒東京都...............C2⇒沖縄県.............D2⇒埼玉県  B3⇒港区(セル色=青)......C3⇒那覇(セル色=灰)....D3⇒蕨(セル色=橙)  B4⇒江東区(セル色=黄)....C4⇒豊見城(セル色=黄). D4⇒草加(セル色=赤)  B5⇒江戸川区(セル色=緑)..C5⇒東風平(セル色=青)..D5⇒川越(セル色=緑)  B6⇒品川区(セル色=橙)....C6⇒空欄...............D6⇒大宮(セル色=紫)  B7⇒渋谷区(セル色=紫)....C7⇒空欄...............D7⇒空欄 【例】  sheet1のB1セルに[沖縄]と入力して『検索』ボタンを押下すると、sheet1に以下のように値が返る B3⇒那覇(セル色=灰) B4⇒豊見城(セル色=黄) B5⇒東風平(セル色=青) 宜しくお願いします。

  • Excel で一つのシートを2枚に分けて印刷

    Excel マクロは私にとっていばらの道です。 __________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 一つのシートを、A2:D4 と A5:D7 の2枚に分けて印刷するマクロを作りたいと考えています。 A1:D1の項目行は、「印刷タイトル」に設定してあります。 金額は空欄の場合もありますが、A名前、C日付とD摘要は連続です。 データ行は増えたり減ったりし、一定ではありません。 日付けの変わるところが印刷区分です。この日付の変わり目をつかまえて印刷範囲を指定できると思っていますが、なかなか巧くいきません。 印刷区分は、範囲設定でなく、ページ区分でもかまいません。 なるべく行数の少ないスカッとしたマクロにするにはどうしたらよいでしょうか。 教えて下さい。よろしくお願いします。

専門家に質問してみよう