Combobox dropdow bị lỗi

Liên hệ QC

FPT_online

Thành viên hoạt động
Tham gia
27/10/13
Bài viết
133
Được thích
16
Cho em hỏi cái combobox mỗi khi em Click chuột qua cells khác nó xổ không đúng chỗ ạ
 

File đính kèm

Bạn định cho điệp viên ComboBox1 hoạt động trong toàn vùng lãnh thổ à? Nếu click ở đâu cũng hiện Combo thì bạn định đóng nó bằng cách nào? Bắt user chọn bừa một giá trị trong combo khi muốn dọn đồ chơi? Mà code làm sao biết khi nào chọn thật khi nào chọn bừa (giả sử biết được chọn bừa để ẩn nó đi)?
Trong code dưới đây điệp viên ComboBox1 chỉ hoạt động trong vùng B2:B1000
Mã:
Private Sub ComboBox1_Change()
    ActiveCell.Value = ComboBox1.Value
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.ComboBox1.Visible = False
'    Diep vien ComboBox1 chi hoat dong trong vung B2:B1000
    If Target.Count = 1 And Not Intersect(Target, Range("B2:B1000")) Is Nothing Then Cmb1
End Sub

Sub Cmb1()
Dim Rng()
    Rng = Sheet2.Range("B4:B8").Value
    With Me.ComboBox1
        .Top = Selection.Top
        .Left = Selection.Left
        .Width = Selection.Width
        .Height = Selection.Height
        .List = Rng
        .ListIndex = -1
        .Visible = True
        .Activate
        .DropDown
    End With
End Sub
 
Upvote 0
Bạn định cho điệp viên ComboBox1 hoạt động trong toàn vùng lãnh thổ à? Nếu click ở đâu cũng hiện Combo thì bạn định đóng nó bằng cách nào? Bắt user chọn bừa một giá trị trong combo khi muốn dọn đồ chơi? Mà code làm sao biết khi nào chọn thật khi nào chọn bừa (giả sử biết được chọn bừa để ẩn nó đi)?
Trong code dưới đây điệp viên ComboBox1 chỉ hoạt động trong vùng B2:B1000
Mã:
Private Sub ComboBox1_Change()
    ActiveCell.Value = ComboBox1.Value
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.ComboBox1.Visible = False
'    Diep vien ComboBox1 chi hoat dong trong vung B2:B1000
    If Target.Count = 1 And Not Intersect(Target, Range("B2:B1000")) Is Nothing Then Cmb1
End Sub

Sub Cmb1()
Dim Rng()
    Rng = Sheet2.Range("B4:B8").Value
    With Me.ComboBox1
        .Top = Selection.Top
        .Left = Selection.Left
        .Width = Selection.Width
        .Height = Selection.Height
        .List = Rng
        .ListIndex = -1
        .Visible = True
        .Activate
        .DropDown
    End With
End Sub
Bạn nói gì mà tôi không hiểu, tôi chỉ thắc mắc lý do sao nó bị vậy thôi, chứ điệp viên cái gì
 
Upvote 0
Bạn nói gì mà tôi không hiểu, tôi chỉ thắc mắc lý do sao nó bị vậy thôi, chứ điệp viên cái gì
Thôi thì bỏ chữ "điệp viên" đi. Còn lại là: "Bạn định cho ComboBox1 hoạt động trong toàn vùng lãnh thổ à? Nếu click ở đâu cũng hiện Combo thì bạn định đóng nó bằng cách nào? Bắt user chọn bừa một giá trị trong combo khi muốn dọn đồ chơi? Mà code làm sao biết khi nào chọn thật khi nào chọn bừa (giả sử biết được chọn bừa để ẩn nó đi)?"

Chả nhẽ không hiểu khi tôi viết rõ ràng như vậy? Bạn thử click ở bất kỳ đâu xem combo có hiện không thì sẽ hiểu.

Mà thôi, không quan trọng. Code có khắc phục được cái gọi là " nó xổ không đúng" không?

Làm gì mà khó chịu thế?
 
Upvote 0
Thôi thì bỏ chữ "điệp viên" đi. Còn lại là: "Bạn định cho ComboBox1 hoạt động trong toàn vùng lãnh thổ à? Nếu click ở đâu cũng hiện Combo thì bạn định đóng nó bằng cách nào? Bắt user chọn bừa một giá trị trong combo khi muốn dọn đồ chơi? Mà code làm sao biết khi nào chọn thật khi nào chọn bừa (giả sử biết được chọn bừa để ẩn nó đi)?"

Chả nhẽ không hiểu khi tôi viết rõ ràng như vậy? Bạn thử click ở bất kỳ đâu xem combo có hiện không thì sẽ hiểu.

Mà thôi, không quan trọng. Code có khắc phục được cái gọi là " nó xổ không đúng" không?
Thôi thì bỏ chữ "điệp viên" đi. Còn lại là: "Bạn định cho ComboBox1 hoạt động trong toàn vùng lãnh thổ à? Nếu click ở đâu cũng hiện Combo thì bạn định đóng nó bằng cách nào? Bắt user chọn bừa một giá trị trong combo khi muốn dọn đồ chơi? Mà code làm sao biết khi nào chọn thật khi nào chọn bừa (giả sử biết được chọn bừa để ẩn nó đi)?"

Chả nhẽ không hiểu khi tôi viết rõ ràng như vậy? Bạn thử click ở bất kỳ đâu xem combo có hiện không thì sẽ hiểu.

Mà thôi, không quan trọng. Code có khắc phục được cái gọi là " nó xổ không đúng" không?
Tôi chỉ thắc mắc sao nó xổ lung tung thôi (thấy nó tại sao vậy không hiểu nên hỏi thôi). Chép code của bạn vào thấy nó hoạt động gì đâu
 
Upvote 0
Tôi chỉ thắc mắc sao nó xổ lung tung thôi (thấy nó tại sao vậy không hiểu nên hỏi thôi). Chép code của bạn vào thấy nó hoạt động gì đâu
Thôi, coi như bài của tôi không có.

Để khỏi mang danh là người nói bừa thì tôi đính kèm video để những người khác kiểm chứng. Người khác thôi chứ chủ chủ đề tôi cũng không "ép" nữa.
 

File đính kèm

Upvote 0
Để giải quyết được thắc mắc tôi thêm như bên dưới đã hiểu được hoạt động của code rồi, cám ơn bạn nhiều. Năm mới chúc bạn vạn sự như ý (trong văn viết không biểu lộ được cảm xúc nên bạn đang hiểu nhầm tôi khó chịu, bạn thử hình dung tôi vừa nhắn vừa cười thì nó sẽ khác)
Rich (BB code):
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cmb1
End Sub
Sub Cmb1()
Dim Rng()
Rng = Sheet2.Range("B4:B8")
With Me.ComboBox1
    .Visible = False
    .Visible = True
    .Top = Selection.Top
    .Left = Selection.Left
    .Width = Selection.Width
    .Height = Selection.Height
    .List = Rng
    .Activate
    .DropDown
End With
 
Upvote 0
Web KT

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

Back
Top Bottom