Macro tạo Validation ? (1 người xem)

Liên hệ QC

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

TrungChinhs

Thành viên tích cực
Tham gia
18/2/08
Bài viết
1,475
Được thích
2,470
Nghề nghiệp
Công chức
Tôi Record Macro quá trình tạo Validation được code như bên dưới. Nhưng chạy lại Macro này thì lại bị lỗi (dòng chữ đỏ). Tôi đã kiểm tra và xác định lỗi do công thức trong Formula1:="=countif($B$3:$B$20;$B3)=1".

Nhờ các bạn giải thích tại sao lại như vậy ?
Sửa code như thế nào để tạo được Validation này (Validation chống nhập trùng).

Thanks !

Mã:
Sub Mcr_Validation()
    Range("B3:B20").Select
    With Selection.Validation
        .Delete
[COLOR=#ff0000]        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _[/COLOR]
[COLOR=#ff0000]        xlBetween, Formula1:="=countif($B$3:$B$20;$B3)=1"[/COLOR]
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub
 

File đính kèm

Em chạy thấy OK, chỉ có vấn đề nho nhỏ chổ dấu ; --> thay bằng dấu ,
có điều cái này em chưa thử đổi phân cách thập phân vì máy của em phân cách thập phân bằng dấu
 
Upvote 0
Cảm ơn Bình ! đúng là trong công thức thay dấu ; bằng dấu , là OK.

Sửa "=countif($B$3:$B$20;$B3)=1" thành "=countif($B$3:$B$20,$B3)=1"
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn Bình ! đúng là trong công thức thay dấu ; bằng dấu , là OK.

Sửa "=countif($B$3:$B$20;$B3)=1" thành "=countif($B$3:$B$20,$B3)=1"

Từ đó phát hiện rằng: Có rất nhiều thiết lập mà trong VBA nó cứ lấy theo mặc định (ta thiết lập control panel kiểu gì cũng cứ thây kệ)
Vậy thôi cứ để control panel theo mặc định kiểu Mỹ chứ đổi làm gì cho nó rối tùm lum (cùng lắm chỉ nên đổi NGÀY THÁNG cho dễ gõ thôi)
???
 
Upvote 0

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

Back
Top Bottom