Anh chi viết giúp code Copy 1 vùng giữ liệu tại 1 sheet sang sheet khác. (1 người xem)

Liên hệ QC

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

toanthanhcong

Thành viên mới
Tham gia
23/9/09
Bài viết
39
Được thích
2
Giờ làm thế nào để khi kích đúp vào cột B (Ví dụ B14) tại sheet 1 thì nó sẽ copy vùng B14:D14 tại sheet 1 sang dòng kế tiếp bắt đầu từ cột E (E 21) tại sheet 2
 

File đính kèm

Giờ làm thế nào để khi kích đúp vào cột B (Ví dụ B14) tại sheet 1 thì nó sẽ copy vùng B14:D14 tại sheet 1 sang dòng kế tiếp bắt đầu từ cột E (E 21) tại sheet 2
Nếu Thích Code thì tham khảo nha....Copy Paste vào ThisWorkbbok Nha (VBA)
Còn Lại muốn gì tự xử nha....
PHP:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
MsgBox "OK", , "GPE"
End Sub
 
Upvote 0
Giờ làm thế nào để khi kích đúp vào cột B (Ví dụ B14) tại sheet 1 thì nó sẽ copy vùng B14:D14 tại sheet 1 sang dòng kế tiếp bắt đầu từ cột E (E 21) tại sheet 2

kích đúp xong rồi nhớ enter nha, ko enter tôi không biết làm
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([b:b], Target) Is Nothing Then
    Sheet2.[E60000].End(3).Offset(1).Resize(Target.End(1).Row, 3).Value = Target.Resize(Target.End(1).Row, 3).Value
End If
End Sub
code sai chổ nào sửa chổ đó nha.................heheheheh
 
Upvote 0
Code này vẫn không ổn, VD copy MH001 ở sheet 1 thì nó copy luôn 3 dòng, nếu nó chỉ copy đúng 1 dòng B13-D13 thì OK
 
Upvote 0
Thế này thì đúp sẽ ra nhưng vẫn bị 3 dòng :)
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("B:B"), Target) Is Nothing Then
Application.ScreenUpdating = False
Sheet2.[E60000].End(3).Offset(1).Resize(Target.End(1).Row, 3).Value = Target.Resize(Target.End(1).Row, 3).Value


End If
Sheets("Sheet2").Activate
End Sub
 
Upvote 0
Sửa câu lệnh " Sheet2.[E60000].End(3).Offset(1).Resize(Target.End(1).Row, 3).Value = Target.Resize(Target.End(1).Row, 3).Value" thành
"Sheet2.[E60000].End(3).Offset(1).Resize(1, 3).Value = Target.Resize(1, 3).Value" thử xem ( chưa coi file nên có gì bạn test )
Đoạn code trên thiếu câu lệnh trả về : Application.ScreenUpdating = True
 
Upvote 0
Sửa câu lệnh " Sheet2.[E60000].End(3).Offset(1).Resize(Target.End(1).Row, 3).Value = Target.Resize(Target.End(1).Row, 3).Value" thành
"Sheet2.[E60000].End(3).Offset(1).Resize(1, 3).Value = Target.Resize(1, 3).Value" thử xem ( chưa coi file nên có gì bạn test )
Đoạn code trên thiếu câu lệnh trả về : Application.ScreenUpdating = True
Chuẩn luôn anh ak , thanhs anh nhiều
 
Upvote 0
Code này vẫn không ổn, VD copy MH001 ở sheet 1 thì nó copy luôn 3 dòng, nếu nó chỉ copy đúng 1 dòng B13-D13 thì OK

bạn nên tìm hiểu các lệnh
offset, resize, end(xltoleft),end(xltorigh).........(hay viết tăt là end(1),end(2),end(3),end(4)........qua phải,qua trái, lên xuống)
rất hữu ích cho bạn một khi bạn chơi với vba
 
Upvote 0
bạn nên tìm hiểu các lệnh
offset, resize, end(xltoleft),end(xltorigh).........(hay viết tăt là end(1),end(2),end(3),end(4)........qua phải,qua trái, lên xuống)
rất hữu ích cho bạn một khi bạn chơi với vba
Hồi xưa lúc mới bắt đầu học vba, thấy các Thầy,Anh,Chị dùng các viết tắt trên tìm hiểu muốn đuối luôn. Do đó mình tự dặn lòng không bao giờ viết tắt để những người mới như mình có thể hiểu được !
 
Upvote 0
Hồi xưa lúc mới bắt đầu học vba, thấy các Thầy,Anh,Chị dùng các viết tắt trên tìm hiểu muốn đuối luôn. Do đó mình tự dặn lòng không bao giờ viết tắt để những người mới như mình có thể hiểu được !
Anh ơi sao em đưa 4 dòng vào nó lại báo lỗi anh nhỉ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("B:B"), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Sheets("NKTONG").[G6000].End(4).Offset(1).Resize(1, 4).Value = Target.Resize(1, 4).Value
End If
Sheets("NKTONG").Activate
End Sub
 
Upvote 0
Anh ơi sao em đưa 4 dòng vào nó lại báo lỗi anh nhỉ
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("B:B"), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Sheets("NKTONG").[G6000].End(4).Offset(1).Resize(1, 4).Value = Target.Resize(1, 4).Value
End If
Sheets("NKTONG").Activate
End Sub
Số 4 màu đỏ đó là số cột chứ không phải dòng bạn ạ!
 
Upvote 0

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

Back
Top Bottom