Giúp đỡ về Combobox!

Liên hệ QC

phuongc5

Thành viên hoạt động
Tham gia
26/10/07
Bài viết
146
Được thích
71
Nghề nghiệp
Kế toán
Chào các thành viên!
Cách đây 2 hôm mình đã hỏi về vấn đề này tại: http://www.giaiphapexcel.com/forum/showthread.php?p=149898#post149898 và hoangdanh282vn có nói là up file lên làm giúp nhưng không thấy reply (chắc bận quá). Nay mình mạo muội hỏi lại, mọi người người đừng cho mình là "ngu lâu, dốt bền". Mình up file mong người giúp đỡ.
 
Lần chỉnh sửa cuối:
Chào các thành viên!
Cách đây 2 hôm mình đã hỏi về vấn đề này tại: http://www.giaiphapexcel.com/forum/showthread.php?p=149898#post149898 và hoangdanh282vn có nói là up file lên làm giúp nhưng không thấy reply (chắc bận quá). Nay mình mạo muội hỏi lại, mọi người người đừng cho mình là "ngu lâu, dốt bền". Mình up file mong người giúp đỡ.

Thứ nhất : Nếu bạn hỏi lại vấn đề trong topic đã có, sao bạn lại không post lại ngay tại đó cho dễ theo dõi mà lại tạo topic mới.

Thứ 2 : Trong topic trên, bạn có hỏi nhưng không có đình kèm file, mình đã tạo dùm bạn 1 file VD, bạn đã bấm thank và không có nói gì thêm, điều này có nghĩa bạn đã hiểu và đã chấp nhận. Giờ bạn lại đính kèm 1 file mới toanh và nói là mình chưa reply.

Trong File bạn gửi, bạn đã áp dụng nhưng bạn chưa thật sự hiểu rõ về code trong đó. Cụ thể :

If Not Intersect(Target, [C1:F25000]) Is Nothing Then

Select Case Target.Column
Case 1: Set ComBo = ComboBox1
Case 2: Set ComBo = ComboBox2
Case 3: Set ComBo = ComboBox3
Case 4: Set ComBo = ComboBox4
End Select

Bạn xem lại sự tồn tại của 2 name : "LO" và "KO"
 
Lần chỉnh sửa cuối:
Hôm kia mình đã up file tại topic đó nhưng không thấy bạn reply (http://www.giaiphapexcel.com/forum/showthread.php?p=150639#post150639),
Mình cũng đã tạo đủ 4 combobox theo như bạn luôn, nhưng không hiểu sao khi thoát ra thì nó lại biến đổi hết và báo lỗi. Mình đã trình bày cách làm của mình ở file up lên rồi đấy. Rõ ràng là mình đặt listfillrange=LO nhưng khi thoát ra ngoài kiểm tra lại thì listfillrange lại =MLNS. Mình loay hoay cả buổi chiều mà không thể làm được. Ah quên, Name "LO" và "KO" mình để ở sheet khác --=0, lúc up file lên mình đã xoá sheet này, nhưng lúc chưa xoá sheet này mình làm cũng không được. Mình up file chưa xoá sheet chứa name "LO", bạn xem lại giúp mình được không?! Cảm ơn bạn nhiều vì đã quan tâm!
 
Lần chỉnh sửa cuối:
Hôm kia mình đã up file tại topic đó nhưng không thấy bạn reply (http://www.giaiphapexcel.com/forum/showthread.php?p=150639#post150639),
Mình cũng đã tạo đủ 4 combobox theo như bạn luôn, nhưng không hiểu sao khi thoát ra thì nó lại biến đổi hết và báo lỗi. Mình đã trình bày cách làm của mình ở file up lên rồi đấy. Rõ ràng là mình đặt listfillrange=LO nhưng khi thoát ra ngoài kiểm tra lại thì listfillrange lại =MLNS. Mình loay hoay cả buổi chiều mà không thể làm được. Ah quên, Name "LO" và "KO" mình để ở sheet khác --=0, lúc up file lên mình đã xoá sheet này, nhưng lúc chưa xoá sheet này mình làm cũng không được

Vậy là bạn muốn 4 combobox đều sử dụng Name "LO" và "KO" đúng không. Nếu đúng thì bạn chỉnh lại name "LO" và "KO" cho chính xác rồi mình sẽ làm tiếp.

Àh mà bạn gửi file đầy đủ lên đi, cứ sai hoài làm hoài không trúng đâu. bạn nói rõ là Combobox nào nằm ở cột nào và sử dụng Name nào.
 
Lần chỉnh sửa cuối:
Không phải, mình muốn cột C thì dùng name "LO", cột D thì dùng Name "KO", cột E và F dùng Name "MLNS" và sang 1 sheet khác có thể dùng các Name này hoặc là name khác nữa
P/s: 3 name này mình dùng name động
 
Lần chỉnh sửa cuối:
Không phải, mình muốn cột C thì dùng name "LO", cột D thì dùng Name "KO", cột E và F dùng Name "MLNS" và sang 1 sheet khác có thể dùng các Name này hoặc là name khác nữa
P/s: 3 name này mình dùng name động
Bạn xem code nha :
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ComBo As Object
If Not Intersect(Target, [C7:F25000]) Is Nothing Then
    ComboBox1.Visible = False
    ComboBox2.Visible = False
    ComboBox3.Visible = False
    ComboBox4.Visible = False
    Select Case Target.Column
        Case 3: Set ComBo = ComboBox1
        Case 4: Set ComBo = ComboBox2
        Case 5: Set ComBo = ComboBox3
        Case 6: Set ComBo = ComboBox4
    End Select
    With ComBo
        .Visible = True
        .LinkedCell = ActiveCell.Address
        .Height = ActiveCell.Height
        .Left = ActiveCell.Left
        .Width = ActiveCell.Width
        .Top = ActiveCell.Top
    End With
End If
Set ComBo = Nothing
End Sub
 

File đính kèm

Bạn bôi đỏ ở C1, Case 1, Case 2 nghĩa là gì vậy? Mình dân kế toán, không biết về VBA, chỉ biết bắt chước để áp dụng vào công việc của mình thôi mà, mong bạn thông cảm và giải thích giúp mình để mình được sáng dạ.
 
Bạn bôi đỏ ở C1, Case 1, Case 2 nghĩa là gì vậy? Mình dân kế toán, không biết về VBA, chỉ biết bắt chước để áp dụng vào công việc của mình thôi mà, mong bạn thông cảm và giải thích giúp mình để mình được sáng dạ.
C1 có nghĩa là vùng sử dụng bắt đầu từ ô C1, trong file bạn thì sử dụng từ C7 mà.

Trong file của bạn, bạn sử dụng cột từ C -> F ( số từ 3 -> 6) . vậy số 1 và số 2 có còn tác dụng gì nữa đâu bạn. Chắc bạn đã hiểu rồi nhỉ.
 
Ah, có phải như thế này không bạn
A tương ứng với 1
B tương ứng với 2
C tướng ứng với 3
Cứ tuần tự như thế...
Vậy thì:
A---> Case1
B---> Case2
Và cứ thế....

Mình hiểu thế có đúng không bạn?
 
Hoangdanh282vn à, mình đã làm được theo hướng dẫn của bạn rồi. Cảm ơn bạn nhiều lắm! Nhưng cho mình hỏi thêm là, cả file mẫu bạn làm trên diễn đàn và file của mình, ở các cột có combobox thì nó vẫn hiện 1 combobox khi mình đã di chuyển chuột ra ô khác chứ không ẩn hoàn toàn. Bạn có thể làm cho nó ẩn hoàn toàn được không?
 
Lần chỉnh sửa cuối:
Bạn giúp mình với, vì khi in, combobox này nó che mất nội dung của ô đấy
 
Lần chỉnh sửa cuối:
Hoangdanh282vn à, mình đã làm được theo hướng dẫn của bạn rồi. Cảm ơn bạn nhiều lắm! Nhưng cho mình hỏi thêm là, cả file mẫu bạn làm trên diễn đàn và file của mình, ở các cột có combobox thì nó vẫn hiện 1 combobox khi mình đã di chuyển chuột ra ô khác chứ không ẩn hoàn toàn. Bạn có thể làm cho nó ẩn hoàn toàn được không?
Bạn chỉ cần sửa lại code 1 tí thôi :
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ComBo As Object
    ComboBox1.Visible = False
    ComboBox2.Visible = False
    ComboBox3.Visible = False
    ComboBox4.Visible = False
If Not Intersect(Target, [C7:F25000]) Is Nothing Then
    Select Case Target.Column
        Case 3: Set ComBo = ComboBox1
        Case 4: Set ComBo = ComboBox2
        Case 5: Set ComBo = ComboBox3
        Case 6: Set ComBo = ComboBox4
    End Select
    With ComBo
        .Visible = True
        .LinkedCell = ActiveCell.Address
        .Height = ActiveCell.Height
        .Left = ActiveCell.Left
        .Width = ActiveCell.Width
        .Top = ActiveCell.Top
    End With
End If
Set ComBo = Nothing
End Sub
 
Bạn chỉ cần sửa lại code 1 tí thôi :
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ComBo As Object
    ComboBox1.Visible = False
    ComboBox2.Visible = False
    ComboBox3.Visible = False
    ComboBox4.Visible = False
If Not Intersect(Target, [C7:F25000]) Is Nothing Then
    Select Case Target.Column
        Case 3: Set ComBo = ComboBox1
        Case 4: Set ComBo = ComboBox2
        Case 5: Set ComBo = ComboBox3
        Case 6: Set ComBo = ComboBox4
    End Select
    With ComBo
        .Visible = True
        .LinkedCell = ActiveCell.Address
        .Height = ActiveCell.Height
        .Left = ActiveCell.Left
        .Width = ActiveCell.Width
        .Top = ActiveCell.Top
    End With
End If
Set ComBo = Nothing
End Sub
Hoang Danh ơi, trước mình nhờ bạn làm hộ cái ComBo động, kết quả tốt. Nhưng đến bây giờ phát sinh một việc như thế này: Khi mình đưa con trỏ vào dòng để thêm dòng thì lại bị lỗi, không thể thêm dòng được. Bạn xem hình và file mình up lên giúp mình với!
 
Lần chỉnh sửa cuối:
Không ai giúp mình với ah
 
Hoang Danh ơi, trước mình nhờ bạn làm hộ cái ComBo động, kết quả tốt. Nhưng đến bây giờ phát sinh một việc như thế này: Khi mình đưa con trỏ vào dòng để thêm dòng thì lại bị lỗi, không thể thêm dòng được. Bạn xem hình và file mình up lên giúp mình với!
Bạn thêm câu lệnh này sau dòng Dim... là ok

PHP:
On Error Resume Next
 
Web KT

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

Back
Top Bottom