Hỏi về hàm tìm kiếm

Liên hệ QC

feelingyes

Thành viên tiêu biểu
Tham gia
24/9/07
Bài viết
459
Được thích
395
Nghề nghiệp
Economic
Lầu rồi mới vào lại "mái nhà thân yêu" thấy rất nhiều sự đổi mới tích cực.
Thay mặt cho những người yêu thích Excel xin cám ơn BQT
Nhân tiện mong các bạn và anh chị chỉ giúp bài toán tìm kiếm sau
Em đang băn khoăn dùng hàm tìm kiếm nào thì được, vì tìm kiếm ở đây lại phụ thuộc vào tháng
Anh chị xem file và rất mong được chỉ giáo
 

File đính kèm

Bác xem file có được không?
 

File đính kèm

Lần chỉnh sửa cuối:
Hãy dùng tạm macro thay vì hàm, như sau:

PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [b15]) Is Nothing Then
    Dim Rng As Range
    Set Rng = Range(Choose(Target.Value, "B3", "D3", "F3", "H3", "J3", "L3"))
    Set Rng = Rng.Resize(10, 2)
    Rng.Copy Destination:=[b16]
 
 End If
End Sub
 
Cách của hoangminhtien thì gần gũi hơn với em Bác SA_DQ ơi.
Đang tập tành học VBA, bỏ gần 2 tháng trời nên quyên gần hết. Phiền Bác SA_DQ cho em hỏi chút
1. Phần tiêu đề sub ------->Sub Worksheet_Change(ByVal Target As Range)
tại sao khi em thử bỏ phần trong ngoặc đi macro ko chạy được.
Từ ByVal em nên hiểu thế nào?

Cám ơn bác nhiều
 
Bác SA_DQ ơi; Phiền Bác SA_DQ cho em hỏi chút
1. Phần tiêu đề sub ------->Sub Worksheet_Change(ByVal Target As Range)
tại sao khi em thử bỏ phần trong ngoặc đi macro ko chạy được. Từ ByVal em nên hiểu thế nào?
Cám ơn bác nhiều
C1: Xem tại mục 17.5.4 & những mục có liên quan (Sách đã dẫn)
C2: Nếu bạn bỏ Target trong ngoặc đi rồi, thì câu lệnh có hàm Choose() làm sao xài được nữa; Nó không 'Chưỡi' là may rồi!
C3: Xem trang 111 (sách đã dẫn.)
 
Có 1 cách nữa cũng dùng VBA khá đơn giãn, đó là khi chọn tháng nào thì cho dử liệu tháng ấy hiện ra, còn lại tất cả cho ẩn hết là xong!
Còn cách của anh Sa thì tương đương với hàm OFFSET đấy!
-Nắm đầu mấy em "B3", "D3", "F3", "H3", "J3", "L3" (tùy theo sự lựa chọn của Validation)
-Mở rộng cell vừa chọn ra 10 dòng, 2 cột
Bạn có thể làm theo cách này, nhưng cải biên 1 chút:
-Tạo 1 name động biến đổi theo Validation
-Copy range này vào vùng trích xuất
Chỉ có thế thôi!
Lưu ý: Trong VBA, bạn gọi Range(...) là name trong Define name sẽ tránh được lổi đáng tiếc khi bạn vô tình Insert thêm dòng hoặc cột
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom