Hàm tự tạo không chạy, nhờ giúp đỡ

Liên hệ QC

NguyenNT221100

Thành viên mới
Tham gia
20/6/22
Bài viết
33
Được thích
5
Chào anh chị em diễn đàn
Em có copy đoạn code viết hàm tự tạo (chức năng lọc dữ liệu trùng trong 1 ô) nhưng khi em chạy thì kết quả nó ra :
1. Khi dữ liệu trong 1 ô không trùng nhau (mỗi dữ liệu ngăn cách nhau bằng dấy phẩy) thì hàm nó chạy --> Vì em thấy nó có hiện kết quả
2. Khi dữ liệu trong 1 ô có trùng nhau thì nó báo #VALUE !

Vì là code em copy nên em cũng không biết là nó sai ở đâu? Với lại kiến thức VBA của em cũng quá giới hạn (dưới) nên em cũng không sửa được.
Mong anh chị em đọc được bài này giúp em sửa code với ạ. Em xin cảm ơn nhiều nhiều !
PS : File đính kèm là em ví dụ dữ liệu để chạy thử
1663738641635.png
 

File đính kèm

  • Lọc dữ liệu trùng.xlsm
    17.2 KB · Đọc: 24
Kết quả mong muốn là như nào?
 
Upvote 0
Kết quả mong muốn là như nào?
Dạ kết quả em mong muốn là code lọc chừa lại chỉ những dữ liệu không trùng nhau ạ. (phân cách nhận dạng dữ liệu bằng dấu phẩy).

Em ví dụ :
Dữ liệu ==> Kết quả
AA,BB,BB,CC,AA,11 ==> AA,BB,CC,11
123,13,AA,UU,123 ==> 123,13,AA,UU

Cảm ơn Anh đã quan tâm
 
Upvote 0
Chào anh chị em diễn đàn
Em có copy đoạn code viết hàm tự tạo (chức năng lọc dữ liệu trùng trong 1 ô) nhưng khi em chạy thì kết quả nó ra :
1. Khi dữ liệu trong 1 ô không trùng nhau (mỗi dữ liệu ngăn cách nhau bằng dấy phẩy) thì hàm nó chạy --> Vì em thấy nó có hiện kết quả
2. Khi dữ liệu trong 1 ô có trùng nhau thì nó báo #VALUE !

Vì là code em copy nên em cũng không biết là nó sai ở đâu? Với lại kiến thức VBA của em cũng quá giới hạn (dưới) nên em cũng không sửa được.
Mong anh chị em đọc được bài này giúp em sửa code với ạ. Em xin cảm ơn nhiều nhiều !
PS : File đính kèm là em ví dụ dữ liệu để chạy thử
View attachment 281178
Về máy của mình vẫn chạy ngon.Bạn vào code bỏ câu lệnh này On Error Resume Next và bấm chạy F8 xem nó báo lỗi ở đâu.
 
Upvote 0
Cảm ơn bạn chạy kiểm tra giúp.
Nhưng mà em cũng mới thử lại trên máy em thì nó vầy nè.
1663740871622.png
Bài đã được tự động gộp:

Về máy của mình vẫn chạy ngon.Bạn vào code bỏ câu lệnh này On Error Resume Next và bấm chạy F8 xem nó báo lỗi ở đâu.
Mình đã bỏ câu lệnh On Error Resume Next và làm theo bạn hướng dẫn (nhấn F8) thì không thấy báo lỗi gì cả bạn ạ
 

File đính kèm

  • 1663740845627.png
    1663740845627.png
    71.3 KB · Đọc: 5
Upvote 0
Về máy của mình vẫn chạy ngon.Bạn vào code bỏ câu lệnh này On Error Resume Next và bấm chạy F8 xem nó báo lỗi ở đâu.
Hàm UDF không báo lỗi. Bị gì đó thì nó chỉ trả về Error (#gì đó!) thôi.
Bạn muốn xem lỗi thì dùng On Error Goto...
Ở chỗ Goto, bảo hàm trả về lỗi.

Dạ xin lỗi cách diễn giải của em làm bác rối.
...
Hãy cố mà quên đi...
Khi nói chuyện VBA thì cố mà quên đi cái từ "không chạy". Từ này quý vị không biết chỗ dùng cho nên nó chả có nghĩa lý gì cả. Chỉ làm khó hiểu hơn thôi.

Khi Excel nhận hàm thì chắc chắn là nó chạy. Không có chuyện không chạy. Chỉ là vấn đề chạy đúng ý muốn hay không thôi.
 
Upvote 0
Hàm UDF không báo lỗi. Bị gì đó thì nó chỉ trả về Error (#gì đó!) thôi.
Bạn muốn xem lỗi thì dùng On Error Goto...
Ở chỗ Goto, bảo hàm trả về lỗi.
Vâng anh.Nhưng em thấy là cho hàm nó vào sub rồi chạy F8 từng dòng code thì mình sẽ biết được ở đâu.Còn nó báo về lỗi gì thì nhiều khi mình cũng không biết lỗi đấy.
 
Upvote 0
Code này viết khá đấy.
Để UDF tự cập nhật thì thêm cái này vào đầu code nhé:
PHP:
Function StrUnique1(Text As String) As String
Application.Volatile
...
 
Upvote 0
Code này viết khá đấy.
Để UDF tự cập nhật thì thêm cái này vào đầu code nhé:
PHP:
Function StrUnique1(Text As String) As String
Application.Volatile
...
Dạ em đã thêm dòng lệnh Application.Volatile vào đầu code như bác hướng dẫn nhưng kết quả hàm vẫn trả về #VALUE! ạ
1663818601808.png1663818651979.png
 
Upvote 0
Vậy tại C2 nhấn F2/Enter thì cập nhật đỡ vậy.
 

File đính kèm

  • Capture.JPG
    Capture.JPG
    44.3 KB · Đọc: 12
Upvote 0
Web KT

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

Back
Top Bottom