Nhập macro sự kiện sau vào vùng mã bảng tính:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim I As Long, st As String, J As Long, k As Long
Dim CH As String
If Intersect(Range("A:C"), Target) Is Nothing Then Exit Sub
CH = Chr(1)
I = Target.Row
J = Cells(Rows.Count, 1).End(xlUp).Row
st = Cells(I, 1).Text & CH & Cells(I, 2).Text & CH & Cells(I, 3).Text
For k = 1 To J
If k <> I Then
stk = Cells(k, 1).Text & CH & Cells(k, 2).Text & CH & Cells(k, 3).Text
If st = stk Then
MsgBox "Combination already in use:" & vbCrLf & stk
Exit Sub
End If
End If
Next k
End Sub
Vì là mã bảng tính nên rất dễ cài đặt và tự động sử dụng:
- bấm chuột phải vào tên tab gần cuối cửa sổ Excel
- chọn Xem mã - điều này sẽ xuất hiện một cửa sổ VBE
- dán nội dung vào và đóng cửa sổ VBE
Nếu bạn có bất kỳ mối quan tâm nào, trước tiên hãy thử nó trên bảng tính dùng thử.
Nếu bạn lưu sổ làm việc, macro sẽ được lưu cùng với nó. Nếu bạn đang sử dụng phiên bản Excel sau đó sau 2003, bạn phải lưu tệp dưới dạng .xlsm chứ không phải .xlsx
Để xóa macro:
- đưa lên các cửa sổ VBE như trên
- xóa mã ra
- đóng cửa sổ VBE
Để tìm hiểu thêm về macro nói chung, xem:
http://www.mvps.org/dmcritchie/excel/getstarted.htmlm
và
http://msdn.microsoft.com/en-us/l Library / ee814735 (v = office.14) .aspx
Để tìm hiểu thêm về Macro sự kiện (mã bảng tính), hãy xem:
http://www.mvps.org/dmcritchie/excel/event.htm
Macro phải được kích hoạt để làm việc này!
st
khai báo Đây là với Excel 2007