- Làm sao để lấy thêm cột cho ComboBox

Liên hệ QC
Bạn làm như sau:
1. Mở rộng vùng KhachHang và TaiKhoan (chắc bạn biết làm)
2. Vào View | Toolbars | Control Toolbox | nhấp chọn nút Design Mode
3. Nhấp phải lên Control | Properties | Chọn Column Count = 3
4. Nhấp Alt+F11 vào S01 sửa các thủ tục
Private Sub CBViDu_Change()
On Error GoTo thoat
If S01.CBViDu.Value <> "" Then
ActiveCell.Offset(0, 1).Value = S01.CBViDu.Column(1) ' O ben canh lay gia tri o cot thu 2
ActiveCell.Offset(0, 2).Value = S01.CBViDu.Column(2)
End If

thoat: Exit Sub
End Sub
Private Sub CommandButton1_Click()
S01.Range("A2:F200").ClearContents
Range("E1").Select
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo thoat
Dim MH As Boolean
MH = Application.EnableEvents
Application.EnableEvents = False
If Target.Row > 1 Then
If Target.Column = 1 Then
Call thaydoi
Call MaKH
ElseIf Target.Column = 4 Then
Call thaydoi
Call MaTK
Else
Call Hide
End If
End If
thoat: Application.EnableEvents = MH
End Sub

TP.
 

File đính kèm

Upvote 0
1/ Bạn vào Insert/Name/Define sẽ thấy các Name chỉ có 2 cột, bây giờ bạn hãy tăng số cột cần lấy lên 3 hoặc 4 tùy bạn
2 Trong Properties của combo bạn chọn ColumnCount bằng 3 hoặc 4, chọn ColumnWidths cho độ rộng các cột của combo
Thân
 
Upvote 0
dmtdmtbb đã viết:
- File gốc này của bác Mr.Okelab, xin bác chỉ dùm cách lấy thêm cột cho ComboBox là 3 hay 4 ...

View attachment 2647
Gọi đúng tên nhé, không người ta tủi thân người ta khóc bây giờ .. . . .!

Nhân đây cho mình hỏi :
TUANVNUNI đã viết:
Mr Okebab xem vấn đề này rồi giải quyết nhé.
Vị trí của các combo không bám theo ActiveCell. Nếu con trỏ di chuyển từ các cột khác thì combo bám đúng ActiveCell, còn nếu di chuyển các dòng trên cùng một cột thì vị trí của combo bị sai.

Minhf cũng không hiểu tại sao nữa, Combobox thì chạy đúng ô đó nhưng cái List của nó lại ở đúng vị trí của ô chọn trước đó.
Nếu bỏ lệnh Sendkey đi thì không xảy ra vấn đề này, nhưng nếu không có lệnh này thì lại không hiện ra list được.

Mong được giải đáp!!
 
Upvote 0
Nguyên văn bởi Mr Okebab
Gọi đúng tên nhé, không người ta tủi thân người ta khóc bây giờ .. . . .!

- Sory bác, chác tại uống thuốc cảm nên không tỉnh táo gỏ nhầm tên
- Đính chính lại Mr Okebab chứ hong phải Mr Okelab

ĐMT
 
Lần chỉnh sửa cuối:
Upvote 0
To Mr.Okebab, File này mình đã sửa lại lỗi như Hiếu nói. Mấu chốt là ở đây:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo thoat
Dim MH As Boolean
MH = Application.EnableEvents
Application.EnableEvents = False
If Target.Row > 1 Then
If Target.Column = 1 Then
Call Hide
Call thaydoi
Call MaKH

ElseIf Target.Column = 4 Then
Call Hide
Call thaydoi
Call MaTK

Else
Call Hide
End If
End If
thoat: Application.EnableEvents = MH
End Sub

TP.
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom