Chỉ giùm mình code để tự động Enter (xuống dòng) khi Tab tới 1 ô trong cột bất kì, cụ thể như sau:
Mình nhập liệu ô A1, Tab chuyển B1 nhập liệu …. tới E1 rồi bấm phím Tab tiếp thì nhảy sang F1,
Mình cần là khi tới F1 thì sẽ tự Enter để nhảy về A2 để nhập liệu tiếp
Cảm ơn
1. Thử đặt ô A1. Nhấn tab 4 lần rồi enter xem thế nào.
2. Thử bôi đen A1:E2. Giữ phím tab 30s xem thế nào.
3. Khác…
17967
Bạn có thể thử chép mã dưới đây vào mã trang tính, để thực hiện
Option Explicit
Private Sub Worksheet_Change(ByVal t As Range)
If CellSingle(t) = 0 Then Exit Sub
On Error Resume Next
Dim r As Range
Set r = [E1]
If r.Column = t.Column Then
Application.EnableEvents = False
cells(t.Row + t(1, 0).MergeArea.Rows.Count, 1).Select:
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal t As Range)
On Error Resume Next
Static o As Range
Dim r As Range, c1%, c2%
Set r = [E1]
If CellSingle(t) = 0 Then Set o = Nothing: Exit Sub
c1 = r.Column: c2 = t.Column
If o Is Nothing Then
If c2 = c1 Then Set o = t
Else
If c2 = c1 + 1 And t.Row = o.Row Then
Application.EnableEvents = False
cells(o.Row + o.Rows.Count, 1).Select:
Application.EnableEvents = True
End If
Set o = Nothing
End If
End Sub
Private Function CellSingle(ParamArray cells()) As Long
On Error Resume Next
Dim u%, i%, c&, r&, cs&, rs&: u = UBound(cells)
With cells(0)
CellSingle = .MergeCells
r = .Row: c = .Column: rs = .Rows.Count: cs = .Columns.Count
If CellSingle = 0 Then CellSingle = (Err = 0) And (cs = -(rs = 1))
If CellSingle Then
rs = r + rs: cs = c + cs
For i = 1 To u
With cells(i)
If (c = .Column) And (r >= .Row) And (rs <= (.Row + .Rows.Count)) Then CellSingle = i: Exit For
End With
Next
End If
End With
Err.Clear
End Function
Khóa học SprinGO phù hợp
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học