kienle7980
Thành viên mới

- Tham gia
- 17/8/10
- Bài viết
- 7
- Được thích
- 5
Chào các cao nhân, hiện tại mình đang làm một bảng quản lý sản phẩm và có một số vướng mắc như sau:
Từ một bảng mã công việc cho trước mình muốn tạo một menu bar. Nhưng do hơi gà về cái này nên mong các cao nhân chỉ giáo
Hình như bạn đang nói là cái Combobox hay List trong Validation thì phải, nếu là vậy thì vấn đề này đã nói nhiều trên diễn đàn rồi bạn. Bạn Search Google là tha hồ có cái bạn cần đó.
Em cũng đã đọc nhiều rồi nhưng do mấy cái này em chưa rành lắm nên vẫn đang loay hoay chưa biết làm thế nào? Bác có thể giúp em giải quyết vấn đề này có được không?
Bạn có thể cụ thể hóa công việc bạn muốn là gì không? Nếu làm cái Combobox lấy Mã hàng, Tên hàng rồi thì sẽ làm gì với nó?
Em cũng đã đọc nhiều rồi nhưng do mấy cái này em chưa rành lắm nên vẫn đang loay hoay chưa biết làm thế nào? Bác có thể giúp em giải quyết vấn đề này có được không?
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
KeyCode = 0
ActiveCell.Offset(1, 0).Select
End If
End Sub
'------------------------------------------------------------------------------------------
Private Sub ComboBox1_Change()
ActiveCell = ComboBox1
ActiveCell.Offset(, 1) = ComboBox1.Column(1)
End Sub
'------------------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ComboBox1
If Target.Column = 5 And Target.Row > 4 Then
.Visible = True
.Top = Target.Top: .Left = Target.Left
.Width = Target.Width: .Height = Target.Height
Else
.Visible = False
End If
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ComboBox1
If Target.Column = 5 And Target.Row > 4 Then
.Visible = True
.Top = Target.Top: .Left = Target.Left
.Width = Target.Width: .Height = Target.Height
Else
.Visible = False
End If
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim CB As Object
If Not Intersect(Target, [E5:E2000]) Is Nothing Then
ComboBox1.Visible = False
If Target.Column = 5 Then
Set CB = ComboBox1
With CB
.Visible = True
.Height = Target.Height: .Width = Target.Width
.Left = Target.Left: .Top = Target.Top
End With
End If
End If
Set CB = Nothing
End Sub
'===================================================
Private Sub ComboBox1_Change()
On Error Resume Next
ActiveCell = ComboBox1
ActiveCell.Offset(, 1) = ComboBox1.Column(1)
End Sub
Private Sub ComboBox1_Change()
On Error Resume Next
ActiveCell = ComboBox1
ActiveCell.Offset(, 1) = ComboBox1.Column(1)
ComboBox1.Visible = False '<--------- Thêm cái thằng này vào đây là OK con gà đen luôn:
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5And Target.Row > 4Then
With ComboBox1
.Visible = True
.Top = Target.Top: .Left = Target.Left
.Width = Target.Width: .Height = Target.Height
.LinkedCell = Target.Address
End With
ElseIf Application.CutCopyMode = False Then
ComboBox1.Visible = False
End If
End Sub
Xin chân thành cám ơn bác Learning_Excel và bạn NH_DK rất nhiều. Nếu em muốn làm ở sheet khác thì làm tương tự hả các bác?
Đương nhiên rồi, bạn copy sheet thôi, sau đó vào sửa lại địa chỉ một số Range theo ý của bạn là OK.