Thư thêm đoạn code này vào code của bạn xem sao1.Mình muốn sau khi bấm nút in thì sẽ tự động lưu lại tên những món đã bán và số lượng vào sheet 3 thì làm thế nào
Sub Print1()
Dim Cll, Mg(), Vung, I, K
Set Vung = Range([C4], [C4].End(xlDown))
ReDim Mg(1 To Vung.Rows.Count, 1 To 5)
For Each Cll In Vung
If Cll <> vbNullString Then
K = K + 1
For I = 0 To 4
Mg(K, I + 1) = Cll.Offset(, -1).Offset(, I)
Next I
End If
Next Cll
Sheets("sheet3").[a10000].End(xlUp)(2).Resize(UBound(Mg), 5) = Mg
'Neu muôn danh lai so thu tu thì thêm doan này
Sheets("sheet3").Range(Sheets("sheet3").[a2], Sheets("sheet3").[a10000].End(xlUp)) = [row(A:A)]
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
End Sub
Thì mở khóa ra, lưu, khóa lại:Thanks bạn domfootwear đã nhắc nhở, lần sau mình sẽ rút kinh nghiệm
Thanks bạn concogia đã giúp đỡ, mình làm được rồi, mình có 1 vấn đề nữa là làm sao để khóa sheet 3 lại, chỉ được xem, ko được xóa, sửa, mà sau khi bấm nút in vẫn lưu được dữ liệu vào sheet 3
Mình đã thử dùng Protect Sheet nhưng sau khi bấm nút in thì báo lỗi, k lưu dữ liệu vào sheet 3 được
Sub Print1()
Dim Cll, Mg(), Vung, I, K
Set Vung = Range([C4], [C4].End(xlDown))
ReDim Mg(1 To Vung.Rows.Count, 1 To 5)
For Each Cll In Vung
If Cll <> vbNullString Then
K = K + 1
For I = 0 To 4
Mg(K, I + 1) = Cll.Offset(, -1).Offset(, I)
Next I
End If
Next Cll
Sheets("sheet3").Unprotect ("trihung")
Sheets("sheet3").[a10000].End(xlUp)(2).Resize(UBound(Mg), 5) = Mg
'Neu muôn danh lai so thu tu thì thêm doan này
Sheets("sheet3").Range(Sheets("sheet3").[a2], Sheets("sheet3").[a10000].End(xlUp)) = [row(A:A)]
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True
Sheets("sheet3").Protect ("trihung")
End Sub
