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
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
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