Module tạo vùng in nhanh trong excel. Macro in tự động. (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

luuhoangkiem

Thành viên mới
Tham gia
24/4/13
Bài viết
10
Được thích
0
Em có tạo 1 module cho sheet như sau:

Mã:
Sub inphieu()'
' inphieu Macro
'


'
    Range("G1").Select
    ActiveWindow.SmallScroll Down:=-9
    Range("H1").Select
    ActiveWindow.SmallScroll Down:=42
    Range("A1:H65").Select
    Range("H1").Activate
    ActiveWindow.SmallScroll Down:=-66
End Sub

Khi đó trong file excel em có tạo 1 rectangle đặt tên Tạo vùng in, click vào nó sẽ tự động bôi đen từ A1 đến H65
Thao tác tiếp theo chỉ là ấn Ctrl+P để in (Em có thể tự tạo code cho nó tự in bằng cách record Macro)

Tuy nhiên em đăng lăn tăn chỗ này, với cách này nó sẽ cố định dòng
Nhỡ như data của em nhiều, thêm 10 dòng vào nữa thì nó sẽ chọn thiếu 10 dòng đc thêm ở giữa bảng tính chẳng hạn.
Không biết có cách nào để nó có thể nhận dạng thế này ko ạ:
- Tự search ở cột A, con trỏ +1 liên tục, đến khi hàng nào trống (giá trị rỗng) thì tự động ngừng search, và đó là nơi cuối cùng vùng chọn đc tạo
Nghĩa là vùng chọn sẽ tự co giãn theo số data của dòng.

Em đính kèm theo file excel bên dưới ạ
Rất mong đc các anh chị và các thầy cô chỉ bảo thêm
 

File đính kèm

Chào luuhoangkiem,

Bạn tham khảo:
Mã:
Sub inphieu()
'1:
Dim lr As Long
'2:
lr = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row 'Dong cuôi cùng o côt A co du liêu cua Sheet1. Sheet1 là tên worksheet trong vba
'3:
Sheet1.Range("A1:H" & lr).PrintPreview  'Xem truoc khi in vùng A1:H-cuôi cua Sheet1
'Sheet1.Range("A1:H" & lr).PrintOut     'Lênh in vùng A1:H-cuôi
'---
'Nêu viêt gôp thì 3 dòng trên thành:
'Sheet1.Range("A1:H" & Sheet1.Range(Rows.Count, "A").End(xlUp).Row).PrintOut
'---
End Sub
 
Upvote 0
Chào luuhoangkiem,

Bạn tham khảo:
Mã:
Sub inphieu()
'1:
Dim lr As Long
'2:
lr = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row 'Dong cuôi cùng o côt A co du liêu cua Sheet1. Sheet1 là tên worksheet trong vba
'3:
Sheet1.Range("A1:H" & lr).PrintPreview  'Xem truoc khi in vùng A1:H-cuôi cua Sheet1
'Sheet1.Range("A1:H" & lr).PrintOut     'Lênh in vùng A1:H-cuôi
'---
'Nêu viêt gôp thì 3 dòng trên thành:
'Sheet1.Range("A1:H" & Sheet1.Range(Rows.Count, "A").End(xlUp).Row).PrintOut
'---
End Sub

Quao quao quả đúng cao thủ. Cám ơn đại ca nhiều lắm, mà đại ca chỉ tận tình có tâm ghê, giải thích cặn kẽ cho em hiểu nữa. Hehe rất cám ơn đại ca nhiều nhen. Chúc anh một ngày đầu tuần thật vui.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom