Henry muốn một ô chứa một số tăng lên mỗi khi bản sao của trang tính được in. Do đó, nếu ô chứa số 9 và anh ta in 13 bản sao của trang tính, mỗi bản sao sẽ chứa, trong ô đó, các số 9, 10, 11, và từ 21 đến 21

Điều này, như bạn có thể đoán, được thực hiện tốt nhất với macro. Tất cả những gì cần làm là in trang tính theo số lần mong muốn, tăng giá trị của ô sau mỗi lần in. Trong trường hợp này, tôi sẽ giả sử rằng ô được tăng lên là B7. Macro sau sẽ xử lý quá trình:

Sub PrintNumberedCopies()

Dim iCopies As Integer     Dim J As Integer     Dim r As Range

' Specify the cell to modify     Set r = Range("B7")



' Get the number of copies.

iCopies = Val(InputBox("Number of copies to print:"))



If iCopies > 0 Then         ' Loop iCopies times, printing once per loop         For J = 1 to iCopies             ActiveSheet.PrintOut             r.Value = r.Value + 1         Next J     End If End Sub

Lưu ý rằng macro hỏi người dùng cần in bao nhiêu bản, sau đó sẽ tiến hành in từng bản một. Sau mỗi bản in, nó sẽ tăng giá trị được lưu trữ trong ô B7. Nếu người dùng nhập nội dung nào đó không được dịch sang một số bản sao, thì không có gì được in.

Hãy nhớ rằng nếu bạn muốn số giá trị trong B7 luôn được cập nhật, bạn sẽ cần phải lưu sổ làm việc sau lần in cuối cùng. Ngoài ra, nếu bạn in bằng một số phương pháp khác với macro này, thì giá trị trong B7 sẽ không phản ánh số lượng bản sao thực được in.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (12135) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.