Tạo nút chọn như Validation ?

Liên hệ QC

volga

Thành viên tiêu biểu
Tham gia
3/12/08
Bài viết
669
Được thích
669
Nghề nghiệp
Nhân Viên
Em có câu hỏi nhờ các Thành viên giúp cho !
Làm sau tạo được cái nút như trong File đính kèm .Khi Click vào thì nó hiện lên cho mình chọn ,không click thì nó ẩn mất ?
Ở sheet INChungTu (H1).
 

File đính kèm

  • NXHangHoa_New.rar
    49 KB · Đọc: 498
Em có câu hỏi nhờ các Thành viên giúp cho !
Làm sau tạo được cái nút như trong File đính kèm .Khi Click vào thì nó hiện lên cho mình chọn ,không click thì nó ẩn mất ?
Ở sheet INChungTu (H1).

Đây chỉ là một cách thay đổi thuộc tính Properties của ComboBox thôi.

Trong ví dụ này:
- DropButtonStyle được đổi thành Plain, thay vì mũi tên xuống.
- Nút chọn (bình thường là mũi tên) sẽ hiển thị khi chọn vì ShowDropButtonWhen được đổi thành Focus (nghĩa là khi được chọn), bình thường là Always (luôn luôn)
- Dữ liệu (ListFillRange) là danh mục khách hàng.

Thế thôi !!!
 
Đây chỉ là một cách thay đổi thuộc tính Properties của ComboBox thôi.

Trong ví dụ này:
- DropButtonStyle được đổi thành Plain, thay vì mũi tên xuống.
- Nút chọn (bình thường là mũi tên) sẽ hiển thị khi chọn vì ShowDropButtonWhen được đổi thành Focus (nghĩa là khi được chọn), bình thường là Always (luôn luôn)
- Dữ liệu (ListFillRange) là danh mục khách hàng.

Thế thôi !!!

Quan trọng là tạo nó thế nào vậy anh ?
Em vẻ ra một nút giống như vậy nhưng Click phải vào xem thuộc tính của nó thì không thấy ListFillRange ở đâu ?
Thanks!
 
Xem hình nhé.

attachment.php

 

File đính kèm

  • 2.jpg
    2.jpg
    261.2 KB · Đọc: 610
Lần chỉnh sửa cuối:
Quan trọng là tạo nó thế nào vậy anh ?
Em vẻ ra một nút giống như vậy nhưng Click phải vào xem thuộc tính của nó thì không thấy ListFillRange ở đâu ?
Thanks!

Khi tạo mới Combobox, bạn nhớ chọn Combobox thuộc nhóm ActiveX, không chọn Combobox thuộc nhóm Form Control. Như vậy bạn sẽ thấy được thuộc tính có ListFillRange. (Excel 2007)

Nếu bạn dùng Excel 2003, bạn chọn Menu: View > Toolbar > Control Box. Bạn chọn Combobox từ Toolbar này. Không chọn Combobox từ Tool Bar Forms. Sau đó, bấm chọn chuột phải sẽ thấy properties.

Chúc bạn thành công.
 
Lần chỉnh sửa cuối:
Ẩn thì sau đó làm thế nào được tiếp???
 
Em có câu hỏi nhờ các Thành viên giúp cho !
Làm sau tạo được cái nút như trong File đính kèm .Khi Click vào thì nó hiện lên cho mình chọn ,không click thì nó ẩn mất ?
Ở sheet INChungTu (H1).
Bạn bấm vào nút Design mode, sẽ thấy mổi cell người ta thiết kế 1 ComboBox --> Hic.. ai lại làm thế ---> 1000 cell là 1000 ComboBox sao? Có mà .. ốm
Thông thường tôi sẽ dùng sự kiện SelectionChange để chọn, và chỉ dùng duy nhất 1 ComboBox cho tất cả các cell
Loại này có nhiều lắm trên diển đàn ---> Bạn tìm xem!
 
Bạn bấm vào nút Design mode, sẽ thấy mổi cell người ta thiết kế 1 ComboBox --> Hic.. ai lại làm thế ---> 1000 cell là 1000 ComboBox sao? Có mà .. ốm
Thông thường tôi sẽ dùng sự kiện SelectionChange để chọn, và chỉ dùng duy nhất 1 ComboBox cho tất cả các cell
Loại này có nhiều lắm trên diển đàn ---> Bạn tìm xem!

Đồng ý với ý kiến của ndu. Nhưng vấn đề là mình đang tập trung vào trọng tâm của câu hỏi thôi. Ai đời làm thế! Có mà chết đi mất!
 
Thanks All !!!!!!!!!!!!!!!
Đây là bài làm thử của em ,nhìn vào thấy sự khác biệt liền ,của em tệ quá ,chưa gióng như File đính kèm bên trên !$@!!.
Không biết còn thiếu chổ nào ?Mong các anh chỉ giùm em ?
Thanks!!!
 

File đính kèm

  • Test.xls
    16.5 KB · Đọc: 190
Bạn tham khảo thử comboxbox động này xem, thêm tùy chình nếu thích nha :
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Me.ComboBox1
If Not Intersect(Target, [A1:A65536]) Is Nothing Then
    .Visible = True
    .LinkedCell = ActiveCell.Address
    .Height = ActiveCell.Height
    .Left = ActiveCell.Left
    .Width = ActiveCell.Width
    .Top = ActiveCell.Top
Else
.Visible = False
Exit Sub
End If
End With
End Sub
 

File đính kèm

  • Combobox dong.xls
    26 KB · Đọc: 243
Hoangdanh282vn ơi, tôi thấy cách của bạn rất hay, nhưng cho tôi hỏi 1 chút là, bạn làm trên 1 cột là như thế, còn giả dụ bây giờ tôi muốn làm trên 5 cột, mỗi cột tham chiếu đến 1 vùng khác nhau (listfỉllanngge khác nhau) thì code như thế nào?
 
Nếu thích Validation thuần túy nhưng tự động thì dùng code sau :
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [A1:A65536]) Is Nothing Then
With Target.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$H$1:$H$10"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
End With
End If
End Sub
 
Hoangdanh282vn ơi, tôi thấy cách của bạn rất hay, nhưng cho tôi hỏi 1 chút là, bạn làm trên 1 cột là như thế, còn giả dụ bây giờ tôi muốn làm trên 5 cột, mỗi cột tham chiếu đến 1 vùng khác nhau (listfỉllanngge khác nhau) thì code như thế nào?
Bạn dùng code này thử xem
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ComBo As Object
If Not Intersect(Target, [A1:E65536]) Is Nothing Then
    ComboBox1.Visible = False
    ComboBox2.Visible = False
    ComboBox3.Visible = False
    ComboBox4.Visible = False
    ComboBox5.Visible = False
    Select Case Target.Column
        Case 1: Set ComBo = ComboBox1
        Case 2: Set ComBo = ComboBox2
        Case 3: Set ComBo = ComboBox3
        Case 4: Set ComBo = ComboBox4
        Case 5: Set ComBo = ComboBox5
    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

  • Combobox dong voi nhieu vung.xls
    41 KB · Đọc: 147
Bạn bấm vào nút Design mode, sẽ thấy mổi cell người ta thiết kế 1 ComboBox --> Hic.. ai lại làm thế ---> 1000 cell là 1000 ComboBox sao? Có mà .. ốm
Thông thường tôi sẽ dùng sự kiện SelectionChange để chọn, và chỉ dùng duy nhất 1 ComboBox cho tất cả các cell
Loại này có nhiều lắm trên diển đàn ---> Bạn tìm xem!


Trên đây tác giả hoàn toàn không dùng VBA mà vẫn tạo ra một tác phẩm tuyệt với .
1 . Khi đưa chuột vào chọn thì hiện lên nút chọn ?
2. Nút chọn có tác dụng cho nhiêu ô như ở sheet nhập xuất hàng ,em không biết cách làm ra được như vậy mong các anh chỉ giúp ?
Thanks !!!

Em củng làm ra như thế nhưng nhìn vào thấy khác liền ,của em có hình nổi lên ,còn của bạn thỉ không ?Không tác dụng cho nhiều ô ?
 

File đính kèm

  • Book1.xls
    16 KB · Đọc: 83
Lần chỉnh sửa cuối:
Em củng làm ra như thế nhưng nhìn vào thấy khác liền ,của em có hình nổi lên ,còn của bạn thỉ không ?Không tác dụng cho nhiều ô ?
1. Trong cửa sổ Property, tìm property Special effect và set nó = 0 - fmSpecialEffectFlat, giải quyết vụ nổi lên

2. tìm Property Backstyle và set nó = 0 - fmMackStyleTransparent, giải quyết vụ có màu khác màu nền

3. Không nên giải quyết vụ tác dụng cho nhiều ô, vì file đó là mỗi ô 1 combobox. Không cần nhiều dòng, chỉ cỡ 100 thôi, vẽ combo mệt xỉu, ngoài ra, nặng file, nặng máy, chả ích gì. Ngoài ra, thêm 1 dòng là phải vẽ 1 combo, thôi tìm cách khác nhập liệu tay còn nhanh hơn.
Nếu chỉ cần chọn trong 1 cột, dùng validation cho khoẻ.
Còn nếu vẫn thích dùng combo hoặc muốn DS xổ xuống 2 cột trở lên, thì dùng 1 com bo động như bài của ndu.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom