Enter thì sang Cell khác trong CB

  • Thread starter Thread starter ThuNghi
  • Ngày gửi Ngày gửi
Liên hệ QC

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên đã mất
Tham gia
16/8/06
Bài viết
3,808
Được thích
4,449
Tôi down file data của Mr Hiếu mà chưa hiểu đoạn sau
Làm sao từ ComboBox khi Enter thì nhảy sang ô khác
Đính kèm Code
PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If S200.Range("B8").Value = "" Then
S200.CBDMKH.Visible = False
On Error GoTo thoat
Dim bEnableEvents As Boolean
bEnableEvents = Application.EnableEvents
Application.EnableEvents = False

        If Target.Column = 2 And Target.Row = 2 Then
        Application.MoveAfterReturnDirection = xlToRight
            With S200.CBDMKH
            .Visible = True
            .Left = ActiveCell.Left
            .Top = ActiveCell.Top
            .Width = ActiveCell.Width
            .Height = ActiveCell.Height
            .ListFillRange = "DMKH"
            .LinkedCell = ActiveCell.Address
            End With
        End If

thoat: Application.EnableEvents = bEnableEvents
    End If
End Sub
Nhờ Mr Hiếu và các bạn giải thích hộ, cám ơn!

Các bạn giải thích hộ, mình mới hiểu 1 chút
If S200.Range("B8").Value = "" Then
S200.CBDMKH.Visible = False
nếu B8 ="" thì ComboBox tắt
If Target.Column = 2 And Target.Row = 2 Then
Application.MoveAfterReturnDirection = xlToRight
With S200.CBDMKH
.Visible = True
Nếu dòng là 2 cột 2 thì hiện CBDMKH, enter thì right
Mình không hiểu câu nào mà Enter thì thoát ra combox box cả
Xin chỉ giáo, cám ơn các bạn nhiều
 
Như vậy là ThuNghi đã hiểu rồi đấy.
Khi enter thì mặc định sẽ nhảy đến ô kế tiếp (Theo tùy chọn Trên, Dưới, Phải, Trái) .
Nhưng do các ô bên cạnh được bảo vệ nên nó sẽ chạy đến ô gấn nhất (theo hướng đã được chọn) không bị bảo vệ
Thân!
 
Upvote 0
Có lẽ mấu chốt của vấn đề là ở chỗ sheet Form đã được bảo vệ.
Trong sheet Form chỉ có ô B2 và vùng B8:B15 là không bị khoá (Unlock). Khi bảo vệ sheet (dùng lựa chọn Select Unlocked cells) thì chỉ có các ô trên (B2 và B5:B15) là có thể chọn được.
If Target.Column = 2 And Target.Row = 2 Then
Application.MoveAfterReturnDirection = xlToRight
Khi thực hiện đoạn code trên tức là ô B2 đang hiện hành, sau khi Enter nó sẽ nhảy sang ô B8.
 
Upvote 0
Hình như là còn thuộc tính gì trong combo Box nữa, thay combo box khác với tên như vậy thì không nhảy ra B8 được. Combo box của Bác Hiếu nó hiển thị khác có ô tròn để chọn, xin chỉ giáo tiếp nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
ThuNghi đã viết:
Hình như là còn thuộc tính gì trong combo Box nữa, thay combo box khác với tên như vậy thì không nhảy ra B8 được. Combo box của Bác Hiếu nó hiển thị khác có ô tròn để chọn, xin chỉ giáo tiếp nhé.


Trong ListStyle = 1-fmListStyleOption

Thân!
 
Upvote 0
chao cac ban,
minh moi tao 1 game nhỏ : tim tu khoa (giống như trò chơi vượt chướng ngại vật trong olympia)
cho phép người dùng tạo câu hỏi(từ khóa). nhưng sau khi nhập từ (dòng) có chứa ký tự của từ khóa và muốn xóa và nhập nội dung khác thì phải xóa bằng tay. nay mình muốn có cách mà xóa tự động (bằng một lệnh) gì đó mà mình lại không rành VB lắm!. Vậy các bạn có thể giúp mình được không?
xin cám ơn các bạn
 
Upvote 0
Bạn dùng bẫy keydown nếu keycode=116 (Nhấn F5 - Tùy ý bạn gán thôi) thì reset textbox=""

Mã:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 116 Then Me.TextBox1 = ""    'Nhan phim F5
End Sub
Hoặc nhấn Esc sẽ hủy các ký tự vừa nhập

P/s: Mình sửa bài vì muốn tận dụng chức năng phím Esc xóa bỏ các ký tự vừa nhập
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom