Lỗi xảy ra khi thi hành thủ tục Worksheet_SelectionChange()

Liên hệ QC

tungson_mrcc

Thành viên hoạt động
Tham gia
25/4/07
Bài viết
108
Được thích
72
Nhờ các bác xử lý vấn đề sau:
Tôi đang xây dựng một giao diện nhập liệu như hình minh họa.
Ý đố của tôi là, người dùng nhập tiêu đề phiếu tại ô D1 thông qua cboLoaiNX, sau khi chọn xong LoaiNX thì tự động chuyển sang ô D5 để nhập người thực hiện thông qua cboNVien, chọn NVien xong thì lại tự động chuyển sang ô D6 để nhập liệu tiếp. Cứ tiếp tục như vậy.
Tôi sử dụng thủ tục Worksheet_selectionchange() như trong ví dụ của bác Sealand http://www.giaiphapexcel.com/forum/showthread.php?t=15761&p=112306#post112306
Mã:
[FONT=Times New Roman][SIZE=2]Private Sub Worksheet_SelectionChange(ByVal Target As Range)[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]Dim MH As Boolean[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]On Error GoTo thoat[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]MH = Application.EnableEvents[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]Application.EnableEvents = False[/SIZE][/FONT]
 
[FONT=Times New Roman][SIZE=2]If cmdSave.Enabled = True Then 'Neu dang lap phieu moi[/SIZE][/FONT]
 
[FONT=Times New Roman][SIZE=2]      Select Case Target.Address[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]          Case Is = "$D$1"    'Tieu de PhieuNhap/Xuat[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]              With cbLoaiNX[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Left = ActiveCell.Left[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Top = ActiveCell.Top[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Height = ActiveCell.Height[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .ListIndex = -1[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Visible = True[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Activate[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]              End With[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]              SendKeys ("%{down}")[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]          Case Is = "$D$5"    'Tieu de Nguoi Nhap/Xuat[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]              With cbNVien[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Left = ActiveCell.Left[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Top = ActiveCell.Top[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Height = ActiveCell.Height[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .ListIndex = -1[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Visible = True[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]                  .Activate[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]              End With[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]              SendKeys ("%{down}")[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]          Case Else[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]              If Target.Row > 10 And Target.Column = 3 Then frmVT01.Show[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]      End Select[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]Else 'Neu khong phai che do nhap moi[/SIZE][/FONT]
 
[FONT=Times New Roman][SIZE=2]  If Target.Address = "$G$2" Then  'Tieu de SoCT[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]      MsgBox "Chay Ctrinh xu ly o " & Target.Address & Chr(13) & "Tieu de SoCT"[/SIZE][/FONT]
[FONT=Times New Roman][SIZE=2]  End If[/SIZE][/FONT]
 
[FONT=Times New Roman][SIZE=2]End If[/SIZE][/FONT]
 
[FONT=Times New Roman][SIZE=2]thoat: Application.EnableEvents = MH[/SIZE][/FONT]
 
[FONT=Times New Roman]End Sub[/FONT]

Khi tôi thử với giao diện chỉ có một ComboBox thì không sao, nhưng với giao diện có 2 ComboBox thì gặp lỗi.

Bác nào có cách giải quyết xin chỉ giúp với.

Trân trọng
 

File đính kèm

Web KT

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

Back
Top Bottom