Giúp tạo code copy (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thanh tong

Thành viên hoạt động
Tham gia
27/5/10
Bài viết
122
Được thích
11
Mình nhờ các bạn giúp hộ mình một code coppy như trong file mình đã chỉ rõ mong muốn của mình.Mong các bạn đọc và giúp mình.
Trân thành cảm ơn!
 

File đính kèm

Mình nhờ các bạn giúp hộ mình một code coppy như trong file mình đã chỉ rõ mong muốn của mình.Mong các bạn đọc và giúp mình.
Trân thành cảm ơn!

bạn ơi, bạn đưa file thật lên đi, hoặc có giả lập thì cũng phải có cấu trúc đàng hoàn.
viết code đòi hỏi vỉ trí các cell phải chính xác, bạn đưa file này mình nghỉ bạn sẻ khó có câu tra lời
thân
 
Lần chỉnh sửa cuối:
Upvote 0
bạn ơi, bạn đưa file thật lên đi, hoặc có giả lập thì cũng phải có cấu trúc đàng hoàn.
viết code đòi hỏi vỉ trí các cell phải chính xác, bạn đưa file này mình nghỉ bạn sẻ khó có câu tra lời
thân
Mình ghi rõ trong file kèm rồi
 

File đính kèm

Upvote 0
bạn thử chép code này vào xem được không :
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B6:B11]) Is Nothing Then Target.Offset(, 9).Value = Target.Value
If Not Intersect(Target, [D6:D11]) Is Nothing Then Target.Offset(, 8).Value = Target.Value
If Not Intersect(Target, [F6:F11]) Is Nothing Then Target.Offset(, 7).Value = Target.Value
 
End Sub
 
Upvote 0
bạn thử chép code này vào xem được không :
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B6:B11]) Is Nothing Then Target.Offset(, 9).Value = Target.Value
If Not Intersect(Target, [D6:D11]) Is Nothing Then Target.Offset(, 8).Value = Target.Value
If Not Intersect(Target, [F6:F11]) Is Nothing Then Target.Offset(, 7).Value = Target.Value
End Sub
Bạn có code nào ngắn hơn không? mang tính tổng quát hơn ấy. Vì nếu nhiều cột dữ liệu mà phải nhập nhiều như vậy thì nhập hơi mệt. Hì hì
 
Upvote 0
Upvote 0
Bạn muốn tổng quát thì bạn phải có quy luật. Quy luật ở đây chính là sự bố trí các vùng của bạn. Ví dụ với vùng dữ liệu mẫu thì tôi có thể viết như thế này
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Set Rng = Union([B6:B11], [D6:D11], [F6:F11])
    If Not Application.Intersect(Target, Rng) Is Nothing Then
        Cells(Target.Row, Target.Column / 2 + 10) = Target 
    End If
End Sub
Đây là 1 ví dụ để bạn hiểu hơn sự logic của lập trình và áp dụng thành công vào dữ liệu thật
 
Upvote 0
Mình mới có vấn đề nảy sinh do vậy mình lại nhờ các bạn giúp thêm vụ này nữa.
Các bạn đọc trong FILE mình gửi kèm và hộ mình nhé.
 

File đính kèm

Upvote 0
Bạn chú ý: với tất cả các sự thay đổi bởi sự tính toán trên sheet đều được xếp vào sự kiện Worksheet_Calculate(). Do đó nếu bạn muốn thay đổi các giá trị sau khi tính toán thì hãy đua Code vào sự kiện này. Ví dụ cho B6 và K6 như yêu cầu của bạn
Mã:
Private Sub Worksheet_Calculate()
    [K6] = [B6]
End Sub
Tất nhiên nếu dùng vòng lặp để duyệt qua các vùng dữ liệu thì ta sẽ có 1 vùng kết quả tương ứng.
Bạn cũng biết về VBA hy vọng giúp bạn hiểu cách làm và tùy biến cho các trường hợp tương tự.
 
Upvote 0

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

Back
Top Bottom