Tạo lệnh in tùy vào độ dài, ngắn của dữ liệu (1 người xem)

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

katylove83

Thành viên hoạt động
Tham gia
22/2/13
Bài viết
166
Được thích
9
chào các anh

em cần in dữ liệu trong file excel , nhưng mỗi lần in em phai nhấn ctr+p rồi phải xem bao nhiêu trang in, rồi mới chọn từ 1-số trang cần in rồi nhấn nút print

mỗi lần làm như vậy là rất lâu

vậy các anh cho em hỏi có code nào tạo ra 1 nút lệnh có thể tự hiểu được khi nhấn nút code đó hiểu là đoạn dữ liệu này bao nhiêu trang và tự in từ đầu cho đến trang đó luôn hay ko?

nhờ các anh chỉ giúp
xin cám ơn
 

File đính kèm

chào các anh

em cần in dữ liệu trong file excel , nhưng mỗi lần in em phai nhấn ctr+p rồi phải xem bao nhiêu trang in, rồi mới chọn từ 1-số trang cần in rồi nhấn nút print

mỗi lần làm như vậy là rất lâu

vậy các anh cho em hỏi có code nào tạo ra 1 nút lệnh có thể tự hiểu được khi nhấn nút code đó hiểu là đoạn dữ liệu này bao nhiêu trang và tự in từ đầu cho đến trang đó luôn hay ko?

nhờ các anh chỉ giúp
xin cám ơn

Cũng hơi lạ đó, vì mặc định là khi bấm in thì Excel sẽ in từ trang đầu đến trang cuối chứ. Chắc file bạn đang chọn gì gì đó trong mục Settings rồi.
 
Upvote 0
Cũng hơi lạ đó, vì mặc định là khi bấm in thì Excel sẽ in từ trang đầu đến trang cuối chứ. Chắc file bạn đang chọn gì gì đó trong mục Settings rồi.
có nghĩa là thế này trang in có thể set vùng từ A1:E1000 nhưng dữ liệu thì đâu phải lúc nào cũng tới 1000 dòng đâu có lúc dữ liệu có 500 dùng nhưng nếu mình nhấn lệnh in luôn thì từ dòng 501 trở đi nó ra giấy trắng thì sao,vậy nên em muốn có cái code nó hiểu là dữ liệu đên đâu thì chỉ hiển thị in ra đến đó thôi
nhờ anh xem giúp nhé
cám ơn
 
Upvote 0
có nghĩa là thế này trang in có thể set vùng từ A1:E1000 nhưng dữ liệu thì đâu phải lúc nào cũng tới 1000 dòng đâu có lúc dữ liệu có 500 dùng nhưng nếu mình nhấn lệnh in luôn thì từ dòng 501 trở đi nó ra giấy trắng thì sao,vậy nên em muốn có cái code nó hiểu là dữ liệu đên đâu thì chỉ hiển thị in ra đến đó thôi
nhờ anh xem giúp nhé
cám ơn
Không phải lúc nào cũng in từ trang đầu đến trang cuối. Vì có thể phía bên phải sheet cần in chứa 1 số nội dung không cần in. Ví dụ: một cái nút điều khiển chẳng hạn. nếu không set trang in, cái nút đó cũng được in.
 
Upvote 0
có nghĩa là thế này trang in có thể set vùng từ A1:E1000 nhưng dữ liệu thì đâu phải lúc nào cũng tới 1000 dòng đâu có lúc dữ liệu có 500 dùng nhưng nếu mình nhấn lệnh in luôn thì từ dòng 501 trở đi nó ra giấy trắng thì sao,vậy nên em muốn có cái code nó hiểu là dữ liệu đên đâu thì chỉ hiển thị in ra đến đó thôi
nhờ anh xem giúp nhé
cám ơn
Vậy set dùng in thế này thử xem

Range([A1],[E65536].End(3)).PrintOut
 
Upvote 0
chào các anh

em cần in dữ liệu trong file excel , nhưng mỗi lần in em phai nhấn ctr+p rồi phải xem bao nhiêu trang in, rồi mới chọn từ 1-số trang cần in rồi nhấn nút print

mỗi lần làm như vậy là rất lâu

vậy các anh cho em hỏi có code nào tạo ra 1 nút lệnh có thể tự hiểu được khi nhấn nút code đó hiểu là đoạn dữ liệu này bao nhiêu trang và tự in từ đầu cho đến trang đó luôn hay ko?

nhờ các anh chỉ giúp
xin cám ơn
Tôi hiểu ý bạn (vì tôi cũng đã từng hỏi trên diễn đàn), nhưng không ai trả lời đúng ý.
Theo file đính kèm, tôi tự chế, bằng cách dùng công thức chung gian bằng 1 công thức đếm số dòng.
Nhờ mấy bác giỏi VBA viết dòng lệnh đếm số dòng vào code nữa là hoàn chỉnh
 

File đính kèm

Upvote 0
Tôi hiểu ý bạn (vì tôi cũng đã từng hỏi trên diễn đàn), nhưng không ai trả lời đúng ý.
Theo file đính kèm, tôi tự chế, bằng cách dùng công thức chung gian bằng 1 công thức đếm số dòng.
Nhờ mấy bác giỏi VBA viết dòng lệnh đếm số dòng vào code nữa là hoàn chỉnh

Thì đã có code đếm số dòng ở bài #5 ở trên rồi đó.
 
Upvote 0
bạn xem file đính kèm, đã đúng ý bạn chưa?
 
Upvote 0
bạn xem file đính kèm, đã đúng ý bạn chưa?
cái công thức của bạn nếu như số liếu không có dính liền dòng với nhau thì sao ?, ví dụ mình bỏ 1 vài dòng sau đó nhập tiếp b,h,... vậy nó có hiểu là dòng cuối cùng là dòng b,h... hay ko? mình thấy hình như nó không hiểu thì phải

bạn xem lại giúp nhé
cám ơn
 
Upvote 0
cái công thức của bạn nếu như số liếu không có dính liền dòng với nhau thì sao ?, ví dụ mình bỏ 1 vài dòng sau đó nhập tiếp b,h,... vậy nó có hiểu là dòng cuối cùng là dòng b,h... hay ko? mình thấy hình như nó không hiểu thì phải

bạn xem lại giúp nhé
cám ơn
yêu cầu bây giờ của bạn có vẻ khác lúc đầu.
Về cơ bản, mỗi bảng tính (sheet), phải có 1 cột gọi là ID (khóa chính).
Nếu bạn muốn in theo ID nhất định, thì bạn phải gửi file đính kèm (dữ liệu thật) và xác định in theo điều kiện nào.
 
Lần chỉnh sửa cuối:
Upvote 0
yêu cầu bây giờ của bạn có vẻ khác lúc đầu.
Về cơ bản, mỗi bảng tính (sheet), phải có 1 cột gọi là ID (khóa chính).
Nếu bạn muốn in theo ID nhất định, thì bạn phải gửi file đính kèm (dữ liệu thật) và xác định in theo điều kiện nào.


thì cũng như file của bạn thôi mà, điều kiện là cột a kéo dài đến đâu thì in đến đó, có nghĩ là tính chữ của dòng cuối cùng đó
 
Upvote 0

File đính kèm

Upvote 0
thì cũng như file của bạn thôi mà, điều kiện là cột a kéo dài đến đâu thì in đến đó, có nghĩ là tính chữ của dòng cuối cùng đó

Có 2 đoạn code bạn thử code nào thích hợp thì dùng

[GPECODE=vb]
Sub Test()
With Sheets("Sheet1")
.PageSetup.PrintArea = .UsedRange.Address
.PrintPreview
End With
End Sub
Sub Test1()
With Sheets("Sheet1")
.PageSetup.PrintArea = .Range([A1], .[A65000].End(3)).Resize(, 4).Address
.PrintPreview
End With
End Sub
[/GPECODE]
 
Upvote 0
Có 2 đoạn code bạn thử code nào thích hợp thì dùng

[GPECODE=vb]
Sub Test()
With Sheets("Sheet1")
.PageSetup.PrintArea = .UsedRange.Address
.PrintPreview
End With
End Sub
Sub Test1()
With Sheets("Sheet1")
.PageSetup.PrintArea = .Range([A1], .[A65000].End(3)).Resize(, 4).Address
.PrintPreview
End With
End Sub
[/GPECODE]
Test1 là ok rồi.
Cảm ơn bạn nha.
 
Upvote 0
Xin được hỏi thêm bạn hongtu1803 : Vậy khi trong file đó được thiết kế sẵn 500 dòng để nhận dữ liệu chẳng hạn sau 500 dòng đó là phần ngày tháng và khoảng để ký. Ý muốn khi in thì tự loại khoảng trống ở giữa thôi thì phải sửa lại code thế nào. Mong bạn tư vấn thêm. Cảm ơn bạn nhiều
 
Upvote 0
Xin được hỏi thêm bạn hongtu1803 : Vậy khi trong file đó được thiết kế sẵn 500 dòng để nhận dữ liệu chẳng hạn sau 500 dòng đó là phần ngày tháng và khoảng để ký. Ý muốn khi in thì tự loại khoảng trống ở giữa thôi thì phải sửa lại code thế nào. Mong bạn tư vấn thêm. Cảm ơn bạn nhiều
Vấn đề bạn hỏi có thể liên quan đến lọc dữ liệu, rồi cộng thêm phần cuối (ngày tháng, ký tên).
Vì nếu chỉ đơn thuần cộng thêm mấy dòng cuối để ký thì đơn giản.
Bạn phải gửi file lên thì mới xem được.
 
Upvote 0

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

Back
Top Bottom