TranNguyenHoang
Thành viên mới
- Tham gia
- 3/1/12
- Bài viết
- 15
- Được thích
- 3
- Điểm
- 0
Em đọc được 1 bài của bác Tuân nói về cách tạo bảng nhập dữ liệu, nhưng ở bài này thì dữ liệu được nhập theo cột và bằng cách click phải chuột vào 1 cel bất kỳ trong cột đó để hiện ra một Listbox chứa DL cần nhập.
Giờ em muốn chỉ click chuột (có thể là click chuột trái) vào một ô cố định (ví du: ô D11 chẳng hạn) ở Sheet nhập liệu; hoặc ở Sheet nhập liệu tạo một nút lệnh là "Nhập DL" để click chuột trái vào đó, còn kết quả sẽ hiển thị ở cel bên cạnh sau khi đã lựa chọn dữ liệu trong Listbox thì phải thay đổi code như thế nào, mong các anh chị giúp đỡ.
Bài viết sau:
Tạo bảng dữ liệu:
1) Chúng ta có một bảng Hệ Thống Tài Khỏan (A2:B25) để dễ nhớ chúng ta đăt tên cho vung này là Tk (đánh dấu vùng A2:B25 vào Insert / Name / Define).
2) Thiết kế form để người dùng chọn mã tài khỏan
Từ cửa sổ Excel bạn nhấn tổ hợp phím Alt + F11. Cửa sổ VBE xuất hiện, sau đó bạn chọn Insert/UserForm . Ta đặt tên form là DMTK, thuộc tính Caption là Chart of account.
Trên form ta đặt các đối tượng gồm có
-Listbox có tên là DM - Rowsource là Tk - (A2:B25)
-1 nút lệnh có tên là Chon -Caption là OK
-1 nút lệnh có tên là Thoat - Caption là Cancel
3) Viết Code cho Form
Bạn double click vào nút OK bạn sẽ thấy đọan code
Private Sub Chon_Click()
End sub
Các bạn thêm vào như sau
Private Sub Chon_Click()
Giatri = DM.Value
ActiveCell.Value = Giatri 'Dat gia tri ban chon vao o hien tai
Unload DMTK
End Sub
Tương tự với nút lệnh cancel
Private Sub Thoat_Click()
Unload DMTK
End Sub
4) Đọan mã của sheet
Đến đây bạn đã đi được 3/4 chặng đường rồi. Giả sử ở sheet Input bạn muốn khi click chuột phải ở một ô thuộc cột nào đó thì Form DMTK sẽ xuất hiện cho bạn chọn.
Các bạn click chuột phải ở sheet Input chon view code và gián đọan code sau vào
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'Created by Tran Tuan
'www.danketoan.com
'24/08/2006
If Target.Column = 4 Or Target.Column = 5 Then
Cancel = True
DMTK.Show
End If
End Sub
(Note:Số 4 và 5 tương ứng với cột D và E, nếu bạn muốn cột A thì số 1....)
Giờ em muốn chỉ click chuột (có thể là click chuột trái) vào một ô cố định (ví du: ô D11 chẳng hạn) ở Sheet nhập liệu; hoặc ở Sheet nhập liệu tạo một nút lệnh là "Nhập DL" để click chuột trái vào đó, còn kết quả sẽ hiển thị ở cel bên cạnh sau khi đã lựa chọn dữ liệu trong Listbox thì phải thay đổi code như thế nào, mong các anh chị giúp đỡ.
Bài viết sau:
Tạo bảng dữ liệu:
1) Chúng ta có một bảng Hệ Thống Tài Khỏan (A2:B25) để dễ nhớ chúng ta đăt tên cho vung này là Tk (đánh dấu vùng A2:B25 vào Insert / Name / Define).
2) Thiết kế form để người dùng chọn mã tài khỏan
Từ cửa sổ Excel bạn nhấn tổ hợp phím Alt + F11. Cửa sổ VBE xuất hiện, sau đó bạn chọn Insert/UserForm . Ta đặt tên form là DMTK, thuộc tính Caption là Chart of account.
Trên form ta đặt các đối tượng gồm có
-Listbox có tên là DM - Rowsource là Tk - (A2:B25)
-1 nút lệnh có tên là Chon -Caption là OK
-1 nút lệnh có tên là Thoat - Caption là Cancel
3) Viết Code cho Form
Bạn double click vào nút OK bạn sẽ thấy đọan code
Private Sub Chon_Click()
End sub
Các bạn thêm vào như sau
Private Sub Chon_Click()
Giatri = DM.Value
ActiveCell.Value = Giatri 'Dat gia tri ban chon vao o hien tai
Unload DMTK
End Sub
Tương tự với nút lệnh cancel
Private Sub Thoat_Click()
Unload DMTK
End Sub
4) Đọan mã của sheet
Đến đây bạn đã đi được 3/4 chặng đường rồi. Giả sử ở sheet Input bạn muốn khi click chuột phải ở một ô thuộc cột nào đó thì Form DMTK sẽ xuất hiện cho bạn chọn.
Các bạn click chuột phải ở sheet Input chon view code và gián đọan code sau vào
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
'Created by Tran Tuan
'www.danketoan.com
'24/08/2006
If Target.Column = 4 Or Target.Column = 5 Then
Cancel = True
DMTK.Show
End If
End Sub
(Note:Số 4 và 5 tương ứng với cột D và E, nếu bạn muốn cột A thì số 1....)
Lần chỉnh sửa cuối: