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
Bạn muốn nhập dữ liệu vào KHAY 2, thì bạn đặt con trỏ chuột vào B17, sau đó nhập dữ liệu vào bình thường.Dear Bác!
Cảm ơn Bác đã giúp đỡ. Từ "Khay 1" Chuyển xuống "Khay 2" từ K13 đến vị trí B17 có làm được không ạ? Và nếu áp dụng cho Bảng B cùng với bảng A được không Ạ?
Trân trọng cảm ơn!
Cảm ơn bác nhiều. Vậy nếu áp dụng cho Bảng B thì mình lồng ghép hàm VBA như thế nào ạ?Bạn muốn nhập dữ liệu vào KHAY 2, thì bạn đặt con trỏ chuột vào B17, sau đó nhập dữ liệu vào bình thường.
Tương tự cho KHAY nào đó bạn đặt con trỏ chuột vào Cell đầu tiên của KHAY đó ......
Bạn thử:Cảm ơn bác nhiều. Vậy nếu áp dụng cho Bảng B thì mình lồng ghép hàm VBA như thế nào ạ?
Cảm ơn!
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'BANG A
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
' BANG B
If Target.Column = 14 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 15 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 16 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 17 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 18 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 19 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 20 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 21 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 22 Then
Target.Offset(0, 1).Select
ElseIf Target.Column = 23 Then
Target.Offset(1, -9).Select
End If
End If
End Sub
Cảm ơn bác nhiều ạ!Bạn thử:
PHP:Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) 'BANG A 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 ' BANG B If Target.Column = 14 Then Target.Offset(0, 1).Select ElseIf Target.Column = 15 Then Target.Offset(0, 1).Select ElseIf Target.Column = 16 Then Target.Offset(0, 1).Select ElseIf Target.Column = 17 Then Target.Offset(0, 1).Select ElseIf Target.Column = 18 Then Target.Offset(0, 1).Select ElseIf Target.Column = 19 Then Target.Offset(0, 1).Select ElseIf Target.Column = 20 Then Target.Offset(0, 1).Select ElseIf Target.Column = 21 Then Target.Offset(0, 1).Select ElseIf Target.Column = 22 Then Target.Offset(0, 1).Select ElseIf Target.Column = 23 Then Target.Offset(1, -9).Select End If End If End Sub
Bạn không muốn code nó mộc mạc hơn saoCảm ơn bác nhiều ạ!
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count = 1 Then
Dim I%
For I = 2 To 11
Select Case Target.Column
Case I, I + 12: Target(1, IIf(I = 11, -8, 2).Select: Exit For
End Select
Next
End If
Application.EnableEvents = True
End Sub
Chắc bạn chưa Test thử trước khi gửi bài, vì nó chưa đúng ý chủ Topic.Bạn không muốn code nó mộc mạc hơn sao
----------------------------
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Count = 1 Then Dim I% For I = 2 To 11 Select Case Target.Column Case I, I + 12: Target.Offset(0, IIf(I = 11, -9, 1)).Select: Exit For End Select Next End If Application.EnableEvents = True End Sub
Vì nhìn thấy code cần rút gọn , chớ chưa đọc qua bài của bạn ấyChắc bạn chưa Test thử trước khi gửi bài, vì nó chưa đúng ý chủ Topic.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count = 1 Then
Select Case Target.Column
Case 2 to 10, 14 to 22:Target(1, 2).Select
Case 11, 23:Target(1, -8).Select
End Select
End If
Application.EnableEvents = True
End Sub
Vẫn chưa được.Vì nhìn thấy code cần rút gọn , chớ chưa đọc qua bài của bạn ấy
Bác phulien1902 có thể tóm tắc 1 tí không?
-------------------------------------------
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Count = 1 Then Select Case Target.Column Case 2 to 10, 14 to 22:Target(1, 2).Select Case 11, 23:Target(1, -8).Select End Select End If Application.EnableEvents = True End Sub
Chắc sẽ được. toanxnVẫn chưa được.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count = 1 Then Call MoveZigZag(10, 10, Target, [B4], 4)
Application.EnableEvents = True
End Sub
Sub MoveZigZag(Row%, Col%, LRNG As Range, Rng As Range,Optional LimitTable&)
Dim X&, Y&, LRow&, LCol&, tX&, tY&
Dim dX&, WF As WorksheetFunction
Set WF = Application.WorksheetFunction
X = Rng.Row - 1: Y = Rng.Column - 1
LRow = LRNG.Row: LCol = LRNG.Column
If LRow = Rows.Count Then Exit Sub
dX = WF.RoundDown(LRow / (Row + X), 0)
tX = dX * Row + dX * X + X
tY = IIf(LCol - Y < Col + Y + 2, 0, Col + 2) + Y
Select Case LCol
Case 1 + tY To Col + tY - 1: Rng(LRow - X, LCol).Select
Case Col + tY:
If tX = LRow + X Then
If LCol = Col + Y Then
Rng(tX - Row - X - 2, LCol + tY + 1).Select
Else
If dX = LimitTable And LimitTable > 0 Then _
LRNG.Select: MsgBox "Ða là ô cuoi' cung`!": Exit Sub
tY = Y: Rng(tX - X + 1, tY).Select
End If
Else
Rng(LRow - X + 1, tY).Select
End If
End Select
End Sub
Sub test()
Dim I
[B4].Select
For I = 1 To 1000
Selection(1, 1).Value = I
DoEvents
Next
End Sub
Chào bạn, bạn cho mình hỏi là nếu mình muốn di chuyển con trỏ chuột đến vị trí số trong ô A3 thì làm như nàoĐây bạn xem được chưa
Mình không phải cao thủ nên không hiểu được các từ bạn này viết đành đứng ngoài hóng.Xin các cao thủ .
ko ra cách giải
Như bài trên