Giúp đỡ em hàm Vlookup kết hợp với Function tự tạo!!! (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

tasongan0909

Thành viên mới
Tham gia
9/4/20
Bài viết
4
Được thích
0
Em có các bảng giá ca máy ở các khu vực, mỗi bảng em đặt tên vùng là: GCMKV3, GCMKV5,... ở các Sheet khác nhau.
Tiếp đó em viết 1 hàm tự tạo tra cứu như sau:
Mã:
Public Function TraCuu_GCM_THEOVUNG(ByVal diadanhhanhchinh As Range) As Variant
Dim strResult As Variant
Select Case diadanhhanhchinh
    ' KHU VUC 3
    Case "HA NOI"
    strResult = "GCMKV3"
    Case "TP HO CHI MINH"
    strResult = "GCMKV3"
    ' KHU VUC 5
    Case "QUANG NINH"
    strResult = "GCMKV5"
    Case "BAC NINH"
    strResult = "GCMKV5"
    Case "HAI PHONG"
End Select
TraCuu_GCM_THEOVUNG = strResult
End Function
Tuy nhiên khi dùng hàm Vlookup báo lỗi không ra kết quả. Anh chị giúp em sửa lỗi với ạ
 

File đính kèm

Em có các bảng giá ca máy ở các khu vực, mỗi bảng em đặt tên vùng là: GCMKV3, GCMKV5,... ở các Sheet khác nhau.
Tiếp đó em viết 1 hàm tự tạo tra cứu như sau:
Mã:
Public Function TraCuu_GCM_THEOVUNG(ByVal diadanhhanhchinh As Range) As Variant
Dim strResult As Variant
Select Case diadanhhanhchinh
    ' KHU VUC 3
    Case "HA NOI"
    strResult = "GCMKV3"
    Case "TP HO CHI MINH"
    strResult = "GCMKV3"
    ' KHU VUC 5
    Case "QUANG NINH"
    strResult = "GCMKV5"
    Case "BAC NINH"
    strResult = "GCMKV5"
    Case "HAI PHONG"
End Select
TraCuu_GCM_THEOVUNG = strResult
End Function
Tuy nhiên khi dùng hàm Vlookup báo lỗi không ra kết quả. Anh chị giúp em sửa lỗi với ạ
Sửa hàm lại thế này.
Mã:
Public Function TraCuu_GCM_THEOVUNG(ByVal diadanhhanhchinh As Range) As Range
Dim strResult As String
Select Case diadanhhanhchinh.Text
    ' KHU VUC 3
    Case "HA NOI", "TP HO CHI MINH":             strResult = "GCMKV3"
    ' KHU VUC 5
    Case "QUANG NINH", "BAC NINH", "HAI PHONG":  strResult = "GCMKV5"
End Select
Set TraCuu_GCM_THEOVUNG = Range(strResult)
End Function
Một cách nửa dùng công thức cho ô C9 như sau:
Mã:
=VLOOKUP(B9,INDIRECT("s" & VLOOKUP(KQ!$C$8,KQ!$H$6:$I$11,2,0) & "!A3:S25"),19,FALSE)
 
Lần chỉnh sửa cuối:
Sửa hàm lại thế này.
Mã:
Public Function TraCuu_GCM_THEOVUNG(ByVal diadanhhanhchinh As Range) As Range
Dim strResult As String
Select Case diadanhhanhchinh.Text
    ' KHU VUC 3
    Case "HA NOI", "TP HO CHI MINH":             strResult = "GCMKV3"
    ' KHU VUC 5
    Case "QUANG NINH", "BAC NINH", "HAI PHONG":  strResult = "GCMKV5"
End Select
Set TraCuu_GCM_THEOVUNG = Range(strResult)
End Function
Một cách nửa dùng công thức cho ô C9 như sau:
Mã:
=VLOOKUP(B9,INDIRECT("s" & VLOOKUP(KQ!$C$8,KQ!$H$6:$I$11,2,0) & "!A3:S25"),19,FALSE)
Em cảm ơn anh ạ,
 
Mình không chắc lắm, nhưng bạn có thể thử:
PHP:
Public Function TraCuu_GCM_THEOVUNG(ByVal diadanhhanhchinh As Range)
 Dim strResult As Range

 Select Case diadanhhanhchinh     ' KHU VUC 3   '
    Case "HA NOI", "TP HO CHI MINH"
        Set strResult = "GCMKV3"
    Case "QUANG NINH", "BAC NINH"    ' KHU VUC 5'
        Set strResult = "GCMKV5"
    Case "HAI PHONG"
        Mgsbox "?"
    End Select
    Set TraCuu_GCM_THEOVUNG = strResult
End Function
 
Em có các bảng giá ca máy ở các khu vực, mỗi bảng em đặt tên vùng là: GCMKV3, GCMKV5,... ở các Sheet khác nhau.
Tiếp đó em viết 1 hàm tự tạo tra cứu như sau:
Public Function TraCuu_GCM_THEOVUNG(ByVal diadanhhanhchinh As Range) As Variant
....................
End Function
Tuy nhiên khi dùng hàm Vlookup báo lỗi không ra kết quả. Anh chị giúp em sửa lỗi với ạ
Góp ý cho bạn:
1/ Đã sử dụng hàm thì nên sử dụng Name, chứ ai chơi nữa nạc nữa mở thế kia.
2/ Bạn có ý tưởng nhưng nên nêu cụ thể muốn làm cái gì nữa khi tra xong, vỉ tôi nhìn thấy 1 ca máy còn nhiều thứ khác đi theo nó nhưng bạn không nêu.
3/ Bạn nên nêu ý tưởng, còn giải pháp thì nên nhờ các thành viên trợ giúp thì sẽ tốt hơn.
4/ Qua xem File thì bạn nên dùng UserForm với 1 Listbox và gõ từ gợi nhớ thì việc nhập liệu nhiều cột, nhiều thứ cùng lúc sẽ nhanh và tốt hơn là sử dụng hàm để tra cứu.
 
Góp ý cho bạn:
1/ Đã sử dụng hàm thì nên sử dụng Name, chứ ai chơi nữa nạc nữa mở thế kia.
2/ Bạn có ý tưởng nhưng nên nêu cụ thể muốn làm cái gì nữa khi tra xong, vỉ tôi nhìn thấy 1 ca máy còn nhiều thứ khác đi theo nó nhưng bạn không nêu.
3/ Bạn nên nêu ý tưởng, còn giải pháp thì nên nhờ các thành viên trợ giúp thì sẽ tốt hơn.
4/ Qua xem File thì bạn nên dùng UserForm với 1 Listbox và gõ từ gợi nhớ thì việc nhập liệu nhiều cột, nhiều thứ cùng lúc sẽ nhanh và tốt hơn là sử dụng hàm để tra cứu.
Dạ, em cảm ơn anh. cái bảng của em còn nhiều mục tiêu nên e viết hàm tự tạo name, e chỉ trích cái phần quan trọng mà chưa giải quyết được và đơn giản hóa đi để hỏi cho nhanh thôi ạ.
Bài đã được tự động gộp:

Mình không chắc lắm, nhưng bạn có thể thử:
PHP:
Public Function TraCuu_GCM_THEOVUNG(ByVal diadanhhanhchinh As Range)
Dim strResult As Range

Select Case diadanhhanhchinh     ' KHU VUC 3   '
    Case "HA NOI", "TP HO CHI MINH"
        Set strResult = "GCMKV3"
    Case "QUANG NINH", "BAC NINH"    ' KHU VUC 5'
        Set strResult = "GCMKV5"
    Case "HAI PHONG"
        Mgsbox "?"
    End Select
    Set TraCuu_GCM_THEOVUNG = strResult
End Function
Em cảm ơn, e đã làm được rồi ạ
 
Dạ, em cảm ơn anh. cái bảng của em còn nhiều mục tiêu nên e viết hàm tự tạo name, e chỉ trích cái phần quan trọng mà chưa giải quyết được và đơn giản hóa đi để hỏi cho nhanh thôi ạ.

Em cảm ơn, e đã làm được rồi ạ
Tôi chỉ góp ý mang tính định hướng, để bạn có hướng đi như thế nào cho tốt.
Khi xem File thì tôi hiểu là bạn còn nhập liệu nhiều thứ nữa nên tôi mới góp ý dùng UserForm với 1 Listbox.
Với Listbox thì bạn có thể chọn và nhập liệu nhanh nhiều thứ cùng lúc.
Trong hình chỉ với 1 UserForm tôi có thể nhập thông tin về tên công trình, người bán hàng và các loại vật tư đã bán chỉ với vài thao tác chọn.

A_Hinh_1.JPG


A_Hinh_2.JPG
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom