thanhphuongvip
Mới học VBA, hỏi ngu anh chị đừng chửi ạ
- Tham gia
- 16/1/10
- Bài viết
- 136
- Được thích
- 22
Xin chào đại gia đình GPE, Phần mềm chỉnh sửa đến bước cuối cùng, nhờ anh em giúp mình viết một code VBA in thẻ với nội dung như này:
Mình có một sheet Docgia, bao gồm rất nhiều tên thành viên theo dõi bằng Số thẻ, giờ mình muốn in thẻ phát cho mỗi thành viên.
Để khi mình bấm vào nút In thẻ bạn đọc thì nó sẽ hiển thị hộp thoại Input để mình bôi đen vùng số thẻ mà mình muốn in (giả sử ở đây mình muốn in từ dòng 6 đến 23), sau đó nó sẽ hiển thị cửa sổ PrintPreview bao gồm tất cả thẻ mình đã chọn bằng form mình tạo sẵn ở sheet Inthetong, có 3 thông tin cần lấy qua form đó mà Tên độc giả, Đơn vị và Số thẻ.
Trong file này có code in toàn bộ các thẻ, nhưng ít khi sử dụng lệnh này, gửi anh em tham khảo, không biết từ cái code này có thể tùy biến thành code in từng khu vực chọn được không ?!
Xin đa tạ!
Mình có một sheet Docgia, bao gồm rất nhiều tên thành viên theo dõi bằng Số thẻ, giờ mình muốn in thẻ phát cho mỗi thành viên.
Để khi mình bấm vào nút In thẻ bạn đọc thì nó sẽ hiển thị hộp thoại Input để mình bôi đen vùng số thẻ mà mình muốn in (giả sử ở đây mình muốn in từ dòng 6 đến 23), sau đó nó sẽ hiển thị cửa sổ PrintPreview bao gồm tất cả thẻ mình đã chọn bằng form mình tạo sẵn ở sheet Inthetong, có 3 thông tin cần lấy qua form đó mà Tên độc giả, Đơn vị và Số thẻ.
Trong file này có code in toàn bộ các thẻ, nhưng ít khi sử dụng lệnh này, gửi anh em tham khảo, không biết từ cái code này có thể tùy biến thành code in từng khu vực chọn được không ?!
Mã:
Sub Intoanbothe()
ActiveSheet.PageSetup.PrintArea = "$A$1:$M$37"
Dim i As Long
Dim lngRowCount As Long
lngRowCount = WorksheetFunction.CountA(Range("Sothe"))
For i = 1 To lngRowCount Step 8
Range("C7").Formula = "=INDEX(sothe," & i & ")"
Range("I7").Formula = "=INDEX(sothe," & i + 1 & ")"
Range("C16").Formula = "=INDEX(sothe," & i + 2 & ")"
Range("I16").Formula = "=INDEX(sothe," & i + 3 & ")"
Range("C25").Formula = "=INDEX(sothe," & i + 4 & ")"
Range("I25").Formula = "=INDEX(sothe," & i + 5 & ")"
Range("C34").Formula = "=INDEX(sothe," & i + 6 & ")"
Range("I34").Formula = "=INDEX(sothe," & i + 7 & ")"
ActiveWindow.SelectedSheets.PrintPreview ' , to:=1, Copies:=1, collate:=True
Next
ActiveSheet.PageSetup.PrintArea = ""
End Sub
Xin đa tạ!