In các sheet theo tên được tách từ chuỗi ký tự

Liên hệ QC

piskael

Thành viên mới
Tham gia
5/4/22
Bài viết
5
Được thích
0
Chào các anh chị,

Em có vấn đề thế này: Em muốn tạo 1 nút button, khi chọn D3 bằng bất kỳ ô nào trong cột E, thì nó sẽ tham chiếu theo dòng kế bên, và in tất cả các sheet được liệt kê trong ô.
Cụ thể: Khi D3=E6 thì khi nhấn nút button sẽ in tất cả tên sheet trong ô F6 (các sheet được phân biệt qua mỗi dấu "+").
Nếu chủ đề này tương tự với các chủ đề có sẵn, anh chị có thể cho em xin đường link để tham khảo.
Em xin cảm ơn.
 

File đính kèm

  • QAQC_MONITORING.xlsb
    714 KB · Đọc: 11
Chào các anh chị,

Em có vấn đề thế này: Em muốn tạo 1 nút button, khi chọn D3 bằng bất kỳ ô nào trong cột E, thì nó sẽ tham chiếu theo dòng kế bên, và in tất cả các sheet được liệt kê trong ô.
Cụ thể: Khi D3=E6 thì khi nhấn nút button sẽ in tất cả tên sheet trong ô F6 (các sheet được phân biệt qua mỗi dấu "+").
Nếu chủ đề này tương tự với các chủ đề có sẵn, anh chị có thể cho em xin đường link để tham khảo.
Em xin cảm ơn.
Thử xem, hy vọng đúng ý.
 

File đính kèm

  • QAQC_MONITORING.xlsb
    605.8 KB · Đọc: 14
Góp vui thêm 1 cách khác
Mã:
Option Explicit
Sub ABC()
    Dim sArr, Ws As Worksheet, Rng As Range, Tmp, i&
    Application.ScreenUpdating = 0
    Application.DisplayAlerts = 0
    Set Ws = Sheets("Menu"): Set Rng = Ws.Range("E14:F27")
    Tmp = Ws.Range("D3").Value
    sArr = Split(Application.WorksheetFunction.VLookup(Tmp, Rng, 2, True), "+")
    If UBound(sArr) >= 0 Then
        For i = 0 To UBound(sArr)
            Sheets(sArr(i)).PrintPreview
        Next
    End If
    Application.ScreenUpdating = 1
    Application.DisplayAlerts = 1
    MsgBox "Done"
End Sub
 
Thử xem, hy vọng đúng ý.
File lúc in chỉ toàn sheet Menu thôi anh, chỗ em cần là in các sheet được liệt kê
Bài đã được tự động gộp:

Góp vui thêm 1 cách khác
Mã:
Option Explicit
Sub ABC()
    Dim sArr, Ws As Worksheet, Rng As Range, Tmp, i&
    Application.ScreenUpdating = 0
    Application.DisplayAlerts = 0
    Set Ws = Sheets("Menu"): Set Rng = Ws.Range("E14:F27")
    Tmp = Ws.Range("D3").Value
    sArr = Split(Application.WorksheetFunction.VLookup(Tmp, Rng, 2, True), "+")
    If UBound(sArr) >= 0 Then
        For i = 0 To UBound(sArr)
            Sheets(sArr(i)).PrintPreview
        Next
    End If
    Application.ScreenUpdating = 1
    Application.DisplayAlerts = 1
    MsgBox "Done"
End Sub
Chỗ E14 em có thay thành E5 và cho D3=E10 thì thay vì in sheet III.1 thì nó lại in II.2, mong anh hỗ trợ thêm chỗ này
 
Web KT
Back
Top Bottom