Mình đang dùng code dưới đây (code này mò mẫm học hỏi từ GPE) để in hàng loạt. Hiện tại nó tạm thời đáp ứng được nhu cầu.
Tuy nhiên cứ mỗi lần copy Sheet3 sang tháng mới thì lại phải vào sửa code vì lúc đó nội dung tháng mới nằm ở Sheet5, 6, 7, ... Vậy có cách nào thay đổi cái phần lấy giá trị từ Sheet3 gán cho Sheet hiện tại (Sheet4) bằng phương thức khác không ? Mình thấy có cách lấy theo kiểu
nhưng không biết cách áp dụng cho code trên.
Mong các bạn giúp đỡ. Cám ơn
Mã:
Private Sub MultiPrint_Click()
Dim HopThoai, Result, ViewOnly
Dim SRow, SData
On Error GoTo Ketthuc
HopThoai = Trim(InputBox("Nhap so phieu theo dang tu so-den so" & vbNewLine & vbNewLine & "Vi du: 1-5 hay 3-3", "In phieu"))
Result = Split(HopThoai, "-")
ViewOnly = MsgBox("Neu chi xem truoc thi nhan Cancel!", vbOKCancel, "In luon hay chi xem truoc ?")
For SRow = Val(Result(0)) To Val(Result(1))
SData = SRow + 8
With Sheet4
.[O1] = Sheet3.Cells(SData, 3).Value
.[O2] = Sheet3.Cells(SData, 3).Value
.[O3] = Sheet3.Cells(SData, 4).Value
.[D9] = Sheet3.Cells(SData, 26).Value & " - " & Sheet3.Cells(SData, 27).Value
.[D10] = Sheet3.Cells(SData, 28).Value
.[D11] = Sheet3.Cells(SData, 8).Value
.[D13] = Sheet3.Cells(SData, 14).Value
End With
If ViewOnly = 2 Then
[A1:P21].PrintPreview
Else
[A1:P21].PrintOut
End If
Next
Ketthuc:
End Sub
Tuy nhiên cứ mỗi lần copy Sheet3 sang tháng mới thì lại phải vào sửa code vì lúc đó nội dung tháng mới nằm ở Sheet5, 6, 7, ... Vậy có cách nào thay đổi cái phần lấy giá trị từ Sheet3 gán cho Sheet hiện tại (Sheet4) bằng phương thức khác không ? Mình thấy có cách lấy theo kiểu
Mã:
Dim Sh As Worksheet
Set Sh = Sheets("Current")
Mong các bạn giúp đỡ. Cám ơn