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).
Đâ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!
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à .. ốmEm 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!
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
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
Bạn dùng code này thử xemHoangdanh282vn ơ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?
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
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!
1. Trong cửa sổ Property, tìm property Special effect và set nó = 0 - fmSpecialEffectFlat, giải quyết vụ nổi lênEm 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 ô ?