khanhnth02
Thành viên thường trực
- Tham gia
- 5/8/07
- Bài viết
- 324
- Được thích
- 35
làm thế nào để khi bấm enter, con trỏ tự động chuyển đến cột đầu tiên hoặc đến ô mặc định, sẽ dùng hàm macro như thế nào vậy các anh chị. xin chân thành cảm ơn
làm thế nào để khi bấm enter, con trỏ tự động chuyển đến cột đầu tiên hoặc đến ô mặc định, sẽ dùng hàm macro như thế nào vậy các anh chị. xin chân thành cảm ơn
mình không thể khoá cột hoặc dòng. ý mình muốn khi nhấn Enter ở ô F2, sẽ tự động chuyển con trỏ đến cột đầu tiên của dòng kế tiếp (ví dụ này là ô A3), tương tự Enter ô F3 con trỏ sẽ tự chuyển ô A4.....
Private Sub Auto_Open()
Application.OnKey "~", "DoEnter"
End Sub
Private Sub Auto_Close()
Application.OnKey "~"
End Sub
Private Sub DoEnter()
' hoac
' SendKeys "{HOME}{DOWN}"
' hoac
Cells(ActiveCell.row + 1, 1).Select
End Sub
Cells(r, c).Select
Dim r As Long, c As Long
...
r = ActiveCell.row + a
c = ActiveCell.Column + b
If r < 1 Then r = 1
If c < 1 Then c = 1
Cells(r, c).Select
tôi đã làm được rồi, xong nó sẽ áp dụng tất cả các sheet trong bảng tính luôn, có cách nào chỉ cần áp dụng trong một sheet tối cần không?. và cái này chỉ được dùng cho một phím Enter (lớn, ở giữa), còn phím Enter bên dãy gần phím số (phím nhỏ) không chạy được
Khi Excel đang ở chế độ mặc định (nhấn Enter là chuyển đến cell dưới)Mình cũng muốn chuyển ô như trong chủ đề này nhưng không biết làm thế nào.
Vì mình chưa từng dùng VBA nên nhờ mọi người chỉ thêm giùm.
Mình đính kèm file và chú thích, nhờ mọi người hỗ trợ.
Cảm ơn mọi người.
Cảm ơn bạn đã chỉ dẫn, ý mình đang muốn là ô B5 khi nhập "A" và enter thì sẽ tự động chuyển qua ô C5. Tại ô C5 mình nhập 100 sau đó enter thì tự chuyển xuống ô B6 để nhập "C", làm tương tự vậy ở các ô khác.Khi Excel đang ở chế độ mặc định (nhấn Enter là chuyển đến cell dưới)
Thì bạn giữ Ctrl sau đó kích chọn lần các cell B5, C5, B6,... chọn xong bỏ Ctrl/nhấn Enter để xem Excel chạy các cell đã đúng ý bạn chưa?
Ồ, cảm ơn bạn nhiều nhé. đã đúng như ý mình muốn nhưng muốn sửa thành nhiều dòng như vậy thì làm thế nào hả bạn?Bạn nhập thử 10 dòng vào File dưới đây
Xin nói thêm là mình cần thực hiện như vậy có khi dữ liệu lên đến 1000 dòng đó bạn.Ồ, cảm ơn bạn nhiều nhé. đã đúng như ý mình muốn nhưng muốn sửa thành nhiều dòng như vậy thì làm thế nào hả bạn?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Target.Column = 2 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 3 Then
Target.Offset(1, -1).Select
End If
End If
End Sub
Cảm ơn bạn nhiều. Đã làm được như mình muốn.Vẫn hướng đó thì: mở tập tin của bạn phulien1902 -> phải chuột trên Sheet1 ở "sheet tabs" ở dưới cùng -> View code -> thay toàn bộ code hiện có bằng
Mã:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 Then If Target.Column = 2 Then Target.Offset(0, 1).Select ElseIf Target.Column = 3 Then Target.Offset(1, -1).Select End If End If End Sub
Code chuyển qua lại giữa 2 cột B (2) và C (3) vì thế trong code co 2 và 3. Nếu bạn muốn chuyển qua lại giữa 2 cột khácv thì tự sửa code. Vd. giữa E (5) và F (6) thì trong code sửa 2 và 3 thành 5 và 6
siwtom không trả lời tin nhắn của bạn vì siwtom bây giờ chỉ xuất hiện với nick batman1 thôi.
Bạn thử với KHAY1 bảng AKính chào quý Thầy/Cô cùng các Anh/Chị!
Cũng cùng đề tài trên, nhờ các Anh/Chị giúp em viết lệnh VBA (theo file đính kèm).
Em muốn làm nhiều lệnh theo 2 hàng trong cùng 1 Sheet như vậy thì làm sao ạ!. Rất mong sự giúp đỡ quý Thầy/Cô cùng các Anh/Chị.
Trân trọng cảm ơn!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 Then
If Target.Column = 2 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 3 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 4 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 5 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 6 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 7 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 8 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 9 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 10 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 11 Then
Target.Offset(1, -9).Select
End If
End If
End Sub
Dear Bác!Bạn thử với KHAY1 bảng A
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 Then If Target.Column = 2 Then Target.Offset(0, 1).Select ElseIf Target.Column = 3 Then Target.Offset(0, 1).Select ElseIf Target.Column = 4 Then Target.Offset(0, 1).Select ElseIf Target.Column = 5 Then Target.Offset(0, 1).Select ElseIf Target.Column = 6 Then Target.Offset(0, 1).Select ElseIf Target.Column = 7 Then Target.Offset(0, 1).Select ElseIf Target.Column = 8 Then Target.Offset(0, 1).Select ElseIf Target.Column = 9 Then Target.Offset(0, 1).Select ElseIf Target.Column = 10 Then Target.Offset(0, 1).Select ElseIf Target.Column = 11 Then Target.Offset(1, -9).Select End If End If End Sub