Tôi có một slicer được gọi là 'Slicer_HeaderTitle'. Tôi chỉ cần có thể làm mờ một biến trong VBA với giá trị của phần tử đã chọn. Tôi sẽ chỉ có một phần tử được chọn tại một thời điểm.Excel VBA - Trả về phần tử đã chọn trong slicer
Tôi đã có rất nhiều vấn đề với việc chọn và bỏ chọn các yếu tố từ slicer của mình một cách linh động qua VBA, vì bảng tổng hợp của tôi được kết nối với nguồn dữ liệu ngoài. Tôi không biết nếu điều này là có liên quan cho ví dụ này chính xác, nhưng bảng này được kết nối với cùng một nguồn dữ liệu bên ngoài.
Tôi từng có một dòng mã, có thể trả về giá trị này, nhưng tất cả những gì tôi có thể tìm giờ yêu cầu bạn lặp qua từng phần tử trong slicer và kiểm tra xem nó có được chọn hay không. Tôi hy vọng để tránh điều này, vì tôi chỉ có 1 yếu tố được chọn tại một thời điểm.
' This is what I'm trying to achieve.
Dim sValue as String
sValue = ActiveWorkbook.SlicerCaches("Slicer_HeaderTitle").VisibleSlicerItems.Value
msgbox(sValue)
'Returns: "Uge 14 - 2016 (3. Apr - 9. Apr)"
Trạng thái:
Cảm ơn câu trả lời chi tiết. Tôi có một vấn đề nhỏ. Tôi tiếp tục nhận được thông báo "Không có mục nào được chọn". – TobiasKnudsen
đó là không thực sự hữu ích, thêm một debug.print osi.Name sau Đối với mỗi và xem xét nếu mỗi phần tử bạn có trong slicer là có, sau đó kiểm tra xem một trong những lựa chọn đã chọn = true hay không. –
Tôi đã thêm hình ảnh mã và lỗi của mình ở cuối bài đăng gốc! – TobiasKnudsen