Code VBA khi có sự thay đổi từ D4: D250 thì nhảy sang K4 rồi K5....

Liên hệ QC

DMQ

Thành viên dốt
Tham gia
21/3/12
Bài viết
703
Được thích
53
Giới tính
Nam
Các anh chị cho em xin đoạn code, khi em gõ dữ liệu vào D4 xong nhấn Tab hoặc phím qua phải thì con trỏ nhảy sang K4, rồi gõ dữ liệu vào K4 xong nhắn enter thì con trỏ lại nhảy lại D5 và cứ thế cứ D5 rồi tới K5, K5 rồi D6, D6 rồi K6, K6 rồi D7.v..vv
Cám ơn các anh chị.
 
Trrong khi chờ mn thì thử dùng code sau
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$D$4" Then
Range("K4").Select
ElseIf Target.Address = "$K$4" Then
Range("D5").Select
ElseIf Target.Address = "$D$5" Then
Range("K5").Select
ElseIf Target.Address = "$K$5" Then
Range("D6").Select
ElseIf Target.Address = "$D$6" Then
Range("K6").Select
ElseIf Target.Address = "$K$6" Then
Range("D7").Select
End If
End Sub
 
Upvote 0
Trrong khi chờ mn thì thử dùng code sau
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$D$4" Then
Range("K4").Select
ElseIf Target.Address = "$K$4" Then
Range("D5").Select
ElseIf Target.Address = "$D$5" Then
Range("K5").Select
ElseIf Target.Address = "$K$5" Then
Range("D6").Select
ElseIf Target.Address = "$D$6" Then
Range("K6").Select
ElseIf Target.Address = "$K$6" Then
Range("D7").Select
End If
End Sub
Thế là nó nhảy xoẹt xoẹt tới D7 thì dừng, chẳng cho người ta làm gì à? --=0
 
Upvote 0
Các anh chị cho em xin đoạn code, khi em gõ dữ liệu vào D4 xong nhấn Tab hoặc phím qua phải thì con trỏ nhảy sang K4, rồi gõ dữ liệu vào K4 xong nhắn enter thì con trỏ lại nhảy lại D5 và cứ thế cứ D5 rồi tới K5, K5 rồi D6, D6 rồi K6, K6 rồi D7.v..vv
Cám ơn các anh chị.
Thử code này



Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 And Target.Column = 4 And Target.Row >= 4 Then If Target <> "" Then Target.Offset(0, 7).Select End If End If If Target.Count = 1 And Target.Column = 11 And Target.Row >= 4 Then If Target <> "" Then Target.Offset(1, -7).Select End If: End If End Sub
 
  • Yêu thích
Reactions: DMQ
Upvote 0
Thử code này



Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count = 1 And Target.Column = 4 And Target.Row >= 4 Then If Target <> "" Then Target.Offset(0, 7).Select End If End If If Target.Count = 1 And Target.Column = 11 And Target.Row >= 4 Then If Target <> "" Then Target.Offset(1, -7).Select End If: End If End Sub
Tôi thấy vẫn còn thiếu điều kiện cho dòng <= 250
 
Upvote 0
Code của bạn @gacel chỉ tới D7 rồi thôi, code của bạn @AnhThu-1976 thì như anh @Maika8008 nói thiếu điều kiện tới dong D250 bạn ơi.
 
Upvote 0
Em thử đại
Mã:
If Target.Count = 250 And Target.Column = 7 And Target.Row >= 7 Then Exit Sub
nhưng không được.
Mong các anh giúp.
 
Upvote 0
Em thử đại
Mã:
If Target.Count = 250 And Target.Column = 7 And Target.Row >= 7 Then Exit Sub
nhưng không được.
Mong các anh giúp.
Bạn không nhạy bén gì cả. Thấy có Target.Row >= 4 đấy thì phải nghĩ ngay ra cái gì tiếp theo chứ.
 
Upvote 0
Sao em thay bằng >=250 rồi mà không được, anh @Maika8008 ơi.
Mã:
If Target.Count = 1 And Target.Column = 4 And Target.Row >= 250 Then Exit Sub
 
Upvote 0
Sao em thay bằng >=250 rồi mà không được, anh @Maika8008 ơi.
Mã:
If Target.Count = 1 And Target.Column = 4 And Target.Row >= 250 Then Exit Sub
Trời! Thế thì khi làm việc, bạn suy luận logic kiểu gì?

Sao lại lớn hơn hoặc bằng 250 hè? Bạn yêu cầu code hiệu lực cho 1 vùng từ D4: D250. Người ta đã cho Row >= 4 rồi thì bạn phải biết giới hạn còn lại là gì chứ?
 
Upvote 0
thì trên 250 không có hiệu lực mà anh.
 
Upvote 0
tức là từ dòng số 4 trở đi mới có hiệu lực, em đã thay Target.Row > 250 thì Exit Sub.
Nhưng vẫn không được.
Bài đã được tự động gộp:

Sao làm hoài mà không được anh ơi. Anh @Maika8008 giúp khai sáng cho em với.
 
Lần chỉnh sửa cuối:
Upvote 0
tức là từ dòng số 4 trở đi mới có hiệu lực, em đã thay Target.Row > 250 thì Exit Sub.
Nhưng vẫn không được.
Bài đã được tự động gộp:

Sao làm hoài mà không được anh ơi. Anh @Maika8008 giúp khai sáng cho em với.
Đề: x chạy từ 4 tới 250, chừ dùng phép và (And) viết sao cho đúng?
 
Upvote 0
Anh @Maika8008 viết dùm em với ạ, em mò hoài không được.
 
Upvote 0
Anh @Maika8008 viết dùm em với ạ, em mò hoài không được.
Bạn vứt cái chữ ký "Không ngừng học hỏi" ấy được rồi. Chỉ cần suy luận đơn giản thì đã mọi người tôi từng gặp, từng giúp viết code sẽ rút ra được kết luận mà bạn thì vẫn không. Tôi đã gợi ý đến tận bếp rồi mà bạn vẫn không thay đổi được chiều bất đẳng thức thì thôi vậy, kẻo không sau này lại khối người khốn khổ vì bạn.
 
Upvote 0
Bạn vứt cái chữ ký "Không ngừng học hỏi" ấy được rồi. Chỉ cần suy luận đơn giản thì đã mọi người tôi từng gặp, từng giúp viết code sẽ rút ra được kết luận mà bạn thì vẫn không. Tôi đã gợi ý đến tận bếp rồi mà bạn vẫn không thay đổi được chiều bất đẳng thức thì thôi vậy, kẻo không sau này lại khối người khốn khổ vì bạn.

Để mình gỡ rối cho 2 bạn vậy, hihi

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Column = 4 And Target.Row >= 4 And Target.Row <= 250 Then
If Target <> "" Then
Target.Offset(0, 7).Select
End If
End If
If Target.Count = 1 And Target.Column = 11 And Target.Row >= 4 And Target.Row <= 250 Then
If Target <> "" Then
Target.Offset(1, -7).Select
End If: End If
End Sub

Có vầy thôi mờ!!! hihi
 
  • Yêu thích
Reactions: DMQ
Upvote 0
Web KT
Back
Top Bottom