Chọn vùng in tùy ý tại các sheet

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

phanngoctrai1981

Thành viên chính thức
Tham gia
16/4/23
Bài viết
60
Được thích
0
Kính gửi: các Anh chị xem giúp em với
Yêu cầu:
Chỉ in nội dung o trang 1 tại các sheet
Nếu không chọn sheets nào thì end xit sub
Kinh mong các Anh/chị xem giúp
Em có file đính kèm
 

File đính kèm

  • sheet in.xlsm
    32.1 KB · Đọc: 16
Duyệt qua listbox, dòng nào được select thì active sheet đó. In từ 1 to 1. Bác viết được cập nhật rồi thì cái in này cũng đơn giản mà
Thực tế là mình cũng xem các anh chị hướng dẫn thôi, nhưng do thấy chưa phù hợp. sáng giờ cứ thử mãi mà chưa được mong bạn xem chỉ giúp.
 
Upvote 0
Thực tế là mình cũng xem các anh chị hướng dẫn thôi, nhưng do thấy chưa phù hợp. sáng giờ cứ thử mãi mà chưa được mong bạn xem chỉ giúp.
Thử code này xem đúng ý anh không?
Mã:
Sub InSheet()
    Dim i&
    Application.ScreenUpdating = 0
    Application.DisplayAlerts = 0
    With Sheets("Tat ca sheet").cacsheet
        For i = 0 To .ListCount - 1
            If .Selected(i) = True Then
                Sheets(.List(i)).PrintOut 1, 1
            End If
        Next
    End With
    Application.ScreenUpdating = 1
    Application.DisplayAlerts = 1
End Sub
 
Upvote 0
Thử code này xem đúng ý anh không?
Mã:
Sub InSheet()
    Dim i&
    Application.ScreenUpdating = 0
    Application.DisplayAlerts = 0
    With Sheets("Tat ca sheet").cacsheet
        For i = 0 To .ListCount - 1
            If .Selected(i) = True Then
                Sheets(.List(i)).PrintOut 1, 1
            End If
        Next
    End With
    Application.ScreenUpdating = 1
    Application.DisplayAlerts = 1
End Sub
Hay quá.
Nhưng mình muốn được xem trang in trước để có thể chọn đúng vùng cần in thì có được không.
 
Upvote 0
Upvote 0
Vậy có khả năng là cương quyết chờ chứ nhất định không tự mày mò viết thử mất rồi.
Dạ em mày mò, tìm trên dien dan cũng nhiều rồi mà chẳn được anh ạ. Anh giup em nhé
Bài đã được tự động gộp:

Dạ em mày mò, tìm trên dien dan cũng nhiều rồi mà chẳn được anh ạ. Anh giup em nhé
Hoặc anh chỉ em cách thực hiện cũng được ạ
 
Upvote 0
Hay quá.
Nhưng mình muốn được xem trang in trước để có thể chọn đúng vùng cần in thì có được không.

Sub InSheet() Dim i& Application.ScreenUpdating = 0 Application.DisplayAlerts = 0 With Sheets("Tat ca sheet").cacsheet For i = 0 To .ListCount - 1 If .Selected(i) = True Then [B]Sheets(.List(i)).PrintPreview[/B] Sheets(.List(i)).PrintOut 1, 1 End If Next End With Application.ScreenUpdating = 1 Application.DisplayAlerts = 1 End Sub

Chắc ý của anh là như thế này? Em chỉ thêm vào code như anh BuiQuangThuan gợi ý.
 
Upvote 0
Sub InSheet() Dim i& Application.ScreenUpdating = 0 Application.DisplayAlerts = 0 With Sheets("Tat ca sheet").cacsheet [QUOTE="DuLieuHangTrieuDong, post: 1112140, member: 1340310"] [ICODE] Sub InSheet() Dim i& Application.ScreenUpdating = 0 Application.DisplayAlerts = 0 With Sheets("Tat ca sheet").cacsheet For i = 0 To .ListCount - 1 If .Selected(i) = True Then [B]Sheets(.List(i)).PrintPreview[/B] Sheets(.List(i)).PrintOut 1, 1 End If Next End With Application.ScreenUpdating = 1 Application.DisplayAlerts = 1 End Sub

Chắc ý của anh là như thế này? Em chỉ thêm vào code như anh BuiQuangThuan gợi ý.
Chắc ý của anh là như thế này? Em chỉ thêm vào code như anh BuiQuangThuan gợi ý.
[/QUOTE]
Sao nó bị lỗi tại dòng này bạn ơi. Nhưng mình cũng cảm ơn bạn rất nhiều, minh sẽ cố gắng tiềm hiểu thêm.
 
Upvote 0
Sao nó bị lỗi tại dòng này bạn ơi
PHP:
Sub InSheet()

    Dim i&

    Application.ScreenUpdating = 0

    Application.DisplayAlerts = 0

    With Sheets("Tat ca sheet").cacsheet

        For i = 0 To .ListCount - 1

            If .Selected(i) = True Then

                Sheets(.List(i)).PrintPreview

                Sheets(.List(i)).PrintOut 1, 1

            End If

        Next

    End With

    Application.ScreenUpdating = 1

    Application.DisplayAlerts = 1

End Sub[

Anh thử lại xem sao.
 
Upvote 0
PHP:
Sub InSheet()

    Dim i&

    Application.ScreenUpdating = 0

    Application.DisplayAlerts = 0

    With Sheets("Tat ca sheet").cacsheet

        For i = 0 To .ListCount - 1

            If .Selected(i) = True Then

                Sheets(.List(i)).PrintPreview

                Sheets(.List(i)).PrintOut 1, 1

            End If

        Next

    End With

    Application.ScreenUpdating = 1

    Application.DisplayAlerts = 1

End Sub[

Anh thử lại xem sao.
Anh thử lại xem sao.
Quá tuyệt vời, cảm ơn DuLieuHangTrieuDong rất nhiều
Cảm ơn tất các Anh đã góp ý, giúp đỡ.
Xin chân thành cảm ơn.
 
Upvote 0
Minh muốn lấy dòng cuối cho trang in, mình làm như thế này mà sao nó không được.
Mọi người chỉ chổ sai giúp.
Lr = Sheets(.List(i)).Range("A" & Rows.Count).End(xlUp).Row
PrintArea = "A1:I" & Lr
Sub indulieu()
Dim i&
Dim Lr As Long
Application.ScreenUpdating = 0
Application.DisplayAlerts = 0
With Sheets("Tat ca sheet").cacsheet
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
Sheets(.List(i)).PrintPreview ' Lenh hien de xem truoc trang in
Dinhdangtrangin
Sheets(.List(i)).PrintOut 1, 1 ' Lenh chi in trang 1 cua sheet duoc chon
Lr = Sheets(.List(i)).Range("A" & Rows.Count).End(xlUp).Row
PrintArea = "A1:I" & Lr
End If
Next
End With
Application.ScreenUpdating = 1
Application.DisplayAlerts = 1
End Sub
 
Upvote 0
Nếu có lấy. Thì cũng phải set trước khi in chứ.sao lại set sau khi in thì còn gì nữa
Hihi. cũng chẵn được.
Sub indulieu()
Dim i&
Dim Lr As Long
Application.ScreenUpdating = 0
Application.DisplayAlerts = 0
With Sheets("Tat ca sheet").cacsheet
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
Lr = Sheets(.List(i)).Range("A" & Rows.Count).End(xlUp).Row
PrintArea = "A1:I" & Lr
Sheets(.List(i)).PrintPreview ' Lenh hien de xem truoc trang in
Dinhdangtrangin
Sheets(.List(i)).PrintOut 1, 1 ' Lenh chi in trang 1 cua sheet duoc chon
End If
Next
End With
Application.ScreenUpdating = 1
Application.DisplayAlerts = 1
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom