我試圖多次打印同一個工作表作爲一個打印作業。我有一個工作表,其中有一個表格,列表爲ID
,FirstName
,LastName
和Age
。我有另一個工作表,就像一個表單。 用戶選擇一個ID,其餘列自動填充(First Name, LastName, and Age
)。 我已經擁有了代碼,一旦用戶從下拉列表中選擇了他們想要的ID,工作表會自動更新該ID的信息。 我正在嘗試添加一個將爲每個ID打印相同工作表的宏。所以,如果我有2周的例如ID:在一個作業中多次打印相同的工作表
- 代碼將使用現有的宏觀與ID1更新工作表
- 打印工作表
- 使用我的代碼以ID2更新工作表
- 打印工作表
最後,雖然,我想有一個打印作業,其中都有工作表。
我已經知道我可以使用下面的代碼打印工作表分開:
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格式,例如它會打印爲一個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的第一頁,發現最後一排,並插入分頁符,去LASTROW + 1,插入第二頁,再次找到LASTROW,插入分頁符,轉到lastrow + 1,插入第3頁,依此類推,直到您將所有頁面放在單個工作表上。將其打印出來,然後刪除新的工作表。 –
這是一個好主意。我正在考慮爲每個ID創建一張新表,但這可能會讓100個左右的ID變得混亂。但分頁的想法並不差。 –