Macro copy dữ liệu (1 người xem)

  • Thread starter Thread starter Excel365
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Excel365

Thành viên tích cực
Tham gia
29/10/10
Bài viết
865
Được thích
127
Giới tính
Nam
Nhờ các anh, chị giúp em viết Macro copy dữ liệu từ vùng này và Paste Value sang vùng kia
Trân trọng
 

File đính kèm

Trong file bạn đang có 1 macro nên mình mạn phép chỉnh sữa nó chút đỉnh luôn nhé !
Mã:
Sub Macro1()
With Sheet1
    .Range("AJ5:BN" & .Range("AJ65500").End(xlUp).Row).Copy
    .Range("A5").PasteSpecial Paste:=xlPasteValues
End With
End Sub
 
Upvote 0
Bạn xem File đính kèm, nhớ tắt Macro trước khi chạy File nhé! Có gì hồi âm lại ngay!
Ok, cám ơn bạn nhiều.
Nhưng code của bạn thì nếu copy dữ liệu > dòng thứ 60 thì phải chỉnh sữa code lại nữa. Ý của mình là nó tự động xác định dòng thứ i luôn.
 
Upvote 0
Nhờ các anh, chị giúp em viết Macro copy dữ liệu từ vùng này và Paste Value sang vùng kia
Trân trọng
Bạn thử code này xem:
[GPECODE=vb]Sub Test()
Sheets("Sheet1").[A4].CurrentRegion.Clear
With Sheets("Sheet1").[AJ4].CurrentRegion
Sheets("Sheet1").[A4].Resize(.Rows.Count, .Columns.Count).Value = .Value
End With
End Sub[/GPECODE]
 
Upvote 0
Ok, cám ơn bạn nhiều.
Nhưng code của bạn thì nếu copy dữ liệu > dòng thứ 60 thì phải chỉnh sữa code lại nữa. Ý của mình là nó tự động xác định dòng thứ i luôn.
Tại bạn đưa yêu cầu không rõ hoặc tại tôi không hiểu rõ yêu cầu của bạn nên mới vậy.
 
Upvote 0
Anh giúp em thêm tý nữa nhe
Copy vùng tô màu của sheet 1 sau đó Paste Value sang vùng tô màu của Sheet 2
Trân trọng
 

File đính kèm

Upvote 0
Trong file bạn đang có 1 macro nên mình mạn phép chỉnh sữa nó chút đỉnh luôn nhé !
Mã:
Sub Macro1()
With Sheet1
    .Range("AJ5:BN" & .Range("AJ65500").End(xlUp).Row).Copy
    .Range("A5").PasteSpecial Paste:=xlPasteValues
End With
End Sub
Xin phép anh em bổ sung thêm dòng code này vào cho nó hoàn thiện hơn chút
Sub Macro1()
With Sheet1
.Range("AJ5:BN" & .Range("AJ65500").End(xlUp).Row).Copy
.Range("A5").PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
End Sub
 
Upvote 0
Bạn thử code này xem:
[GPECODE=vb]Sub Test()
Sheets("Sheet1").[A4].CurrentRegion.Clear
With Sheets("Sheet1").[AJ4].CurrentRegion
Sheets("Sheet1").[A4].Resize(.Rows.Count, .Columns.Count).Value = .Value
End With
End Sub[/GPECODE]
Code của anh thì copy luôn dòng tiêu đề (1, 2, 3, 4, .... 31)
Ý của em thì chỉ copy vùng dữ liêu dwosi dòng tiêu đề
 
Upvote 0
Xem lại File này nhé, lúc nãy đọc không kỹ đề bài!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Xem lại File này nhé, lúc nãy đọc không kỹ đề bài!
Anh xem lại giúp em
Copy vùng A5:B23 của sheet 1 Paste Value lên vùng A5:B23 của sheet 2
Copy vùng E5:AI23 của sheet 1 sau đó Paste Value vùng E5:AI23 của sheet 2

Số dòng nhiều hơn, hoặc ít hơn 23 dòng
Trân trọng
 
Upvote 0
Anh xem lại giúp em
Copy vùng A5:B23 của sheet 1 Paste Value lên vùng A5:B23 của sheet 2
Copy vùng E5:AI23 của sheet 1 sau đó Paste Value vùng E5:AI23 của sheet 2

Số dòng nhiều hơn, hoặc ít hơn 23 dòng
Trân trọng
Vậy thì bạn dùng code này:
[GPECODE=vb]Sub Test1()
Dim lRs As Long
lRs = Sheets("1").[A65500].End(xlUp).Row - 4
Sheets("2").[A5:B5].Resize(lRs).Value = Sheets("1").[A5:B5].Resize(lRs).Value
Sheets("2").[E5:AI5].Resize(lRs).Value = Sheets("1").[E5:AI5].Resize(lRs).Value
End Sub[/GPECODE]
Cũng cần nói thêm một chút: Nếu phía dưới bảng dữ liệu không có gì khác (chẳng hạn những ghi chú, ngày tháng, chữ ký,...) thì bạn cứ thế này cho khỏe:
[GPECODE=vb]Sub Test()
Sheets("2").[A5:B1000].Value = Sheets("1").[A5:B1000].Value
Sheets("2").[E5:AI1000].Value = Sheets("1").[E5:AI1000].Value
End Sub[/GPECODE]
Số 1000 có thể thay bằng một số đủ lớn (bao nhiêu là đủ lớn thì bạn rõ hơn ai hết).
 
Upvote 0
Anh xem lại giúp em
Copy vùng A5:B23 của sheet 1 Paste Value lên vùng A5:B23 của sheet 2
Copy vùng E5:AI23 của sheet 1 sau đó Paste Value vùng E5:AI23 của sheet 2

Số dòng nhiều hơn, hoặc ít hơn 23 dòng
Trân trọng
Bạn dùng code sau nhé!
Sub copydl()
With Sheets("1")
.Range("A5:AI" & .Range("A65500").End(xlUp).Row).Copy
End With
Sheets("2").Range("A5").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
 
Upvote 0
Nếu trường hợp dữ liệu copy mới ít hơn thì cần thêm dòng code xóa dữ liệu cũ nữa.
Dùng code sau, thêm hoặc bớt dữ liệu và test thử.
Sub copydl()
Sheets("2").Range("A5:AI" & Sheets("2").Range("A65500").End(xlUp).Row).ClearContents
With Sheets("1")
.Range("A5:AI" & .Range("A65500").End(xlUp).Row).Copy
End With
Sheets("2").Range("A5").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom