Sub CreateValidation()
Dim r1 As Range, r2 As Range, r3 As Range, wb As Workbook, sh As Worksheet
With Application
On Error Resume Next
Set r1 = .InputBox(Prompt:="Chon vung chua du lieu tao danh sach", Title:="Get Data", Type:=8)
Set r2 = .InputBox(Prompt:="Chon o tao Validation", Title:="Get Data", Type:=8)
Set r2 = r2(1)
Set r3 = .InputBox(Prompt:="Chon vung chua danh sach cung cap cho Validation", Title:="Get Data", Type:=8)
On Error GoTo 0
If r1 Is Nothing Or r2 Is Nothing Or r3 Is Nothing Then Exit Sub
r1.Copy r3(1)
Set r3 = r3.Resize(r1.Rows.Count, 1)
r3.RemoveDuplicates Columns:=1
r3.Sort key1:=r3(1)
Set r3 = r3.Resize(.WorksheetFunction.CountA(r3), 1)
r3.Name = "lstVal"
On Error Resume Next
r2.Validation.Delete
On Error GoTo 0
r2.Validation.Add Type:=xlValidateList, Formula1:="=lstVal"
Set r3 = Nothing
Set r2 = Nothing
Set r1 = Nothing
End With
End Sub