Tạo Combobox không hiển thị tên các sheets bị ẩn

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Chào các bạn,

Một lần nữa mong nhận được sự hỗ trợ của các bạn.
Tôi tạo combobox để chuyển trang như trong file đính kèm (chỉ tạo cho 3 sheets đầu), trong file thì có một số sheets được ẩn theo chế độ VerryHidden.
Vấn đề là trong menu xổ xuống của combobox vẫn hiển thị tên các sheets được ẩn (phải chạy On Error Goto IError để không báo lỗi).
Tôi không rõ có thể tạo menu xổ xuống chỉ có tên các sheet không bị ẩn được không, và khi sheet không còn bị ẩn thì tên sheet lại có trong menu xổ xuống.
Xin được cám ơn các bạn trước.

Anh có thể thêm điều kiện trong vòng for each ws ….. của anh là

If ws.Visible = xlSheetVisible Then 'tùy chọn của anh'
     Me.ComboBox1.AddItem ws.Name
 End If

coi thế nào

www.giaiphapexcel.com/diendan/threads/t%E1%BA%A1o-combobox-kh%C3%B4ng-hi%E1%BB%83n-th%E1%BB%8B-t%C3%AAn-c%C3%A1c-sheets-b%E1%BB%8B-%E1%BA%A9n.165412/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 2 ▥ 0
Quảng cáo

Bạn nên đọc

2 Responses

  1. hands says:

    Anh có thể thêm điều kiện trong vòng for each ws ….. của anh là

    If ws.Visible = xlSheetVisible Then 'tùy chọn của anh'
         Me.ComboBox1.AddItem ws.Name
     End If

    coi thế nào

    Cám ơn anh đã quan tâm,
    Tôi thử đủ cách nhưng chẳng được. anh có thể bỏ chút công làm với file tôi đính kèm xem thế nào.
    Xin lỗi làm anh phải mất thời gian.
    Cám ơn anh tôi đã làm được rồi.
    Xin được cám ơn anh rất nhiều

    Vậy là anh thử vẫn chưa đủ cách anh nhỉ.

    Vâng, tôi cũng có phần cẩu thả.
    Do tôi lơ đểnh đặt End If dưới Next ws nên nó báo lỗi.
    Thế là tôi làm đủ cách, mỗi cách càng đi xa hơn và luôn báo lỗi hoặc không được như yêu cầu.
    Đó đúng là một bài học tốt cho tôi.
    Rất cám ơn bạn Bùi Quang Thuận và bạn Hoàng Tuấn đã quan tâm đến vấn đề của tôi.
    Tôi đã đưa vào chương trình chính của tôi và mọi sự "trên cả tuyệt vời".
    Cám ơn hai anh thật nhiều.

  2. hands says:

    Vậy là anh thử vẫn chưa đủ cách anh nhỉ.

    Hihi. Anh có nói code giúp thành ra anh có thể tham khảo thêm code ở combobox1 như sau.

    Private Sub Worksheet_Activate()
        Dim Temp(), k&
        Me.ComboBox1.Clear
        Dim ws As Worksheet
        For Each ws In ThisWorkbook.Worksheets
            If ws.Visible = xlSheetVisible Then
                k = k + 1
                ReDim Preserve Temp(1 To k)
                Temp(k) = ws.Name
            End If
        Next ws
        ComboBox1.List = Temp
    End Sub
    Private Sub ComboBox1_Change()
        If ComboBox1.Value <> "" Then
            Worksheets(ComboBox1.Value).Select
        End If
    End Sub

    Các combobox tại sheet khác anh cũng có thể làm tương tự. Hi vọng sẽ giúp anh được chút gì đó

Leave a Reply

Your email address will not be published. Required fields are marked *

Quảng cáo

Cũ vẫn chất

Xem thêm