
請求書のひながた、参照元データは添付図とあわせて見ていただければと思います。
元データは6月、7月分のデータもありますが非表示になってます。
元データの「発送」の部分でフィルタを使って●のついたものだけを絞りそれらだけを連続印刷したいと思ってます。
フィルタではなく●がついたものだけ印刷でもいいのですが。
請求書ひながたの方は1行目に元データを貼り付け
さらにそこからひながたに差し込んでいます。
現在使ってるマクロは以下になります。
印刷したい行を選択→請求書印刷ボタンを押す。(ボタンも別になくしてしまっていいのですが)
現在はこれを一回ずつ実行して使っています。
Sub 請求書印刷()
'
' 請求書印刷 Macro
Range(Selection, Selection.End(xlToLeft)).Select
が×13
Selection.Copy
Sheets("請求書").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut From:=2, To:=32766, Copies:=1
Sheets("元データ").Select
End Sub
連続でやりたかったはずなのですが
気づいたらこんな邪道なやり方になってしまいまして。
1行目に挿入して~の部分も無くそうと思いまして(あってもいいのですが)
現在試行錯誤中です。
似たような質問を見つけて途中までやったのですが
請求書を2ページ目から印刷しろ、という命令だったり
●がついてるものだけ、という条件をどこにどう入れればいいかわからず、
また何が足りてないのかも混乱してわからなくなってしまい切羽詰まってます。
こんな状態です↓
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub InsPrint()
Const org As String = "売上" '元データのシート名
Const prs As String = "請" '印刷するシート名
Const strt As Integer = 4 '元データの実データ開始行
Dim idx As Long
Dim oSht, pSht As Worksheet
Set oSht = Worksheets(org)
Set pSht = Worksheets(prs)
For idx = strt To oSht.Range("A65536").End(xlUp).Row
' 以下の行を項目数だけコピーして定義する
pSht.Range("A1").Value = oSht.Cells(idx, "B").Value
pSht.Range("C1").Value = oSht.Cells(idx, "D").Value
pSht.Range("D1").Value = oSht.Cells(idx, "E").Value
pSht.Range("E1").Value = oSht.Cells(idx, "F").Value
pSht.Range("F1").Value = oSht.Cells(idx, "G").Value
pSht.Range("G1").Value = oSht.Cells(idx, "H").Value
pSht.Range("K1").Value = oSht.Cells(idx, "L").Value
pSht.Range("L1").Value = oSht.Cells(idx, "M").Value
pSht.Range("M1").Value = oSht.Cells(idx, "N").Value
pSht.Range("I1").Value = oSht.Cells(idx, "J").Value
pSht.Range("Q1").Value = oSht.Cells(idx, "R").Value
pSht.Range("R1").Value = oSht.Cells(idx, "S").Value
pSht.Range("U1").Value = oSht.Cells(idx, "O").Value
pSht.PrintOut '印刷
' プリンタの印刷が追いつかないので5頁につき8秒休止する
If (idx Mod 2) = 0 Then
DoEvents
Sleep 8000 'ミリ秒単位で指定
End If
Next idx
End Sub
なんとかご助力願いたく、この場所をお借りしました。
まだまだ勉強中の身ではあるのですが、これも急にやらなければいけなくなってしまった為。
よろしければご協力お願い致します。

No.1ベストアンサー
- 回答日時:
こんにちは
添付画像ですが、はっきり言って読めません。^^;
もう少し具体的にデータの構成を記載しましょう。
>Const org As String = "売上" '元データのシート名
>Const prs As String = "請" '印刷するシート名
それから、上記の定数ですが、"元データ"、"請求書"のシート名を変更したのですか?
変更していないなら、"元データ"、"請求書"に訂正しましょう。
>さらにそこからひながたに差し込んでいます。
ひながたに差し込んでいますというのは、その1行目のデータを請求書の各セルが参照
して請求書が作成されているということですね。
それから、●の個所だけ抽出のIF文の入れ方ですが、骨組みを記載します。
Sub InsPrint2()
略
For idx = strt To oSht.Range("A65536").End(xlUp).Row
If Cells(idx, "Q").Value = "●" Then
ここに出力する時の内容(転記、プリント)を記述する。
End If
Next idx
End Sub
For文の内側にIF文を置き、●がある列(たぶんQだと思いますが)の値を見て、●であるならば
処理をするようにします。
>pSht.PrintOut '印刷
印刷のマクロは記録をとれば確認できるので、一度マクロ記録を行って確認しましょう。
これで、一回作成してみて、なにかあれば補足してください。
それでは
画像は小さいし質問の仕方は拙い、とひどい状態にも関わらず
知恵を貸してくださって本当にありがとうございます!
考え方を教えていただけたのでなんとか動かせるまでに至りました!
改めてありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷工程について
-
【DTP】スミアミ80%とは【困っ...
-
CMYKモードで作成してK100の色...
-
A4サイズを少量プリントしたい
-
2色(DIC124+ブラック)印刷の...
-
pdfをindesignで作成した際の文字
-
Vector Works10で印刷がずれる
-
ソフトが違うの意味が未だ不明
-
DVD-R表面の文字を消す方法
-
印刷見積の取り方(用紙と面付...
-
Illustratorでの 網掛けと透明...
-
AUTO CAD 印刷時に入力していな...
-
エクセル 打込用 印刷用 が一致...
-
e-taxで申告した確定申告のデー...
-
パワーポイントからイラストレ...
-
JWWで文字をカラー印刷するのは...
-
AutoCADで作成した図面を印刷す...
-
ビューポートと印刷範囲がずれる
-
B4のワードデータをA4サイズのP...
-
AutoCADで文字が薄い灰色になる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷工程について
-
DVD-R表面の文字を消す方法
-
CMYKモードで作成してK100の色...
-
K50%のグレーをCMYKで表現する...
-
【DTP】スミアミ80%とは【困っ...
-
Excelでの作成物に印刷時に連番...
-
Illustratorでの 網掛けと透明...
-
CADに貼り付けたイメージが印刷...
-
Vector Works10で印刷がずれる
-
In Design 見開きページのノド...
-
教えて下さい。m(_ _)m
-
ソフトが違うの意味が未だ不明
-
autocadに関して質問があります...
-
A4サイズを少量プリントしたい
-
リーフレットに名刺をはさむ切...
-
2色(DIC124+ブラック)印刷の...
-
エクセル 打込用 印刷用 が一致...
-
雑誌や冊子などを効率的に作る...
-
確定申告のイータックスで作成...
-
イラストレータの印刷領域について
おすすめ情報