1つの印刷ジョブと同じワークシートを複数回印刷しようとしています。私は、列がID
,FirstName
,LastName
、Age
のテーブルを持つワークシートを持っています。フォームのように機能する別のワークシートがあります。 ユーザーはIDを選択し、残りの列は自動的に入力されます(First Name, LastName, and Age
)。 私はすでに、ユーザーがドロップダウンからどのIDを選択すれば、シートはそのIDの情報で自動的に更新されるというコードを持っています。 IDごとに同じワークシートを印刷するマクロを追加しようとしています。1つのジョブで同じワークシートを複数回印刷する
- がID2でワークシートを更新するために、自分のコードを使用し
- 印刷にID1とワークシートをワークシートを更新するために、私の既存のマクロを使用するコード
- 印刷:もしそうなら、私は、例えば2 IDを持っていましたワークシート
最後に、両方のシートを含む1つの印刷ジョブを持っていたいと思います。
Sub PrintForms()
dim myID as integer
'myID gets the last ID numer
myID = sheets("CondForm").Range("A1").Value
for i = 1 to myID
'this just takes the ID number from i and updates the worksheet with the data for that id
call misc.UpdateSheet(i)
Sheets("Data Form").PrintOut
Next i
End Sub
をしかし、彼らは例えばPDFファイルを選択した場合、それを取得するように、私は1つの印刷ジョブとして出てくる印刷物のすべてを必要とする:
私はすでに私がワークシートを印刷するには、以下のコードを使用することができます知っているが分離します数百ではなく1つのpdf文書として印刷されます。
また、シートの配列を印刷するこのメソッドが見つかりましたが、それでも印刷の間にシートを更新することはできません。
Sub PrintArray()
Dim SheetsToPrint As String
Dim MyArr() As String
SheetsToPrint = "Data Table,Data Form"
'Split the string into an array
MyArr = Split(SheetsToPrint, ",")
ThisWorkbook.Worksheets(MyArr).PrintOut
End Sub
私は、A1に最初のページを貼り付け、ワークシートを作成し、最後の行を見つけ、改ページを挿入し、+ 1をLASTROW 2ページ目を挿入し、再びLASTROW見つけ、改ページを挿入するために行く、後藤う1つのワークシートにすべてのページがあるまで、lastrow + 1、3ページ目を挿入します。それを印刷し、新しいワークシートを削除します。 –
それは良い考えです。私はIDごとに新しいシートを作成することを考えていましたが、それは100枚ほどのIDで乱雑になる可能性があります。しかし、改ページのアイデアは悪くないです。 –