cách viết code công thức chọn một vùng dữ liệu ở sheet này tới hết dòng cuối rồi dán vào cột cuối sheet data

Liên hệ QC

phamvandunghp84

Thành viên thường trực
Tham gia
5/3/20
Bài viết
241
Được thích
12
code này đang báo lỗi, Nhờ các bạn trên diễn đàn giúp mình code này phải sửa lại như nào mới chạy được? ( mình muốn chọn vùng dữ liệu từ ô A101 tới ô E cuối của sheet4 rồi dán vào cuối của cột A sheet data

Sub LocTrung03()
Dim lastRow As Long
Sheet4.Activate
With ActiveSheet
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Sheet4.[A101;"E&lastRow].Copy Destination:=Sheets("data").[A65000].End(xlUp).Offset(1, 0)
End Sub
 
Bạn ơi trong công thức trên là sao chép .Range("A101:E" & lastRow).Copy Sheets("data").[A65000].End(xlUp).Offset(1, 0) cho trong cùng 1 file excel, bây giờ trường hợp mình muốn copy sang dòng D cuối của một file excel khác thì mình viết lại công thức này như nào?

Mình đã thử như này nhưng không chạy
.Range("A101:E" & lastRow).Copy Workbooks("file vidu 2").Sheets("data").[D65000].End(xlUp).Offset(1, 0)
Để copy dữ liệu sang file khác thì sửa code lại như sau (Chú ý là file "file vidu 2" phải đang mở):
Mã:
Sub LocTrung01()
Dim lastRow As Long, iRow%, Rng As Range
Dim Wb As Workbook, tWb As Workbook
    Set tWb = ThisWorkbook
    Set Wb = Workbooks("file vidu 2.xlsx")
    With tWb.Sheets("copyValue")
        lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        iRow = .Range("A101:E" & lastRow).Rows.Count
        Set Rng = Wb.Sheets("data").[D65000].End(xlUp).Offset(1, 0)
        .Range("A101:E" & lastRow).Copy Rng
        Rng.Resize(iRow, 5).Value = Rng.Resize(iRow, 5).Value
    End With
End Sub
đúng là vấn đề lại phát sinh ra vấn đề
mình lục tung google để tìm cách sao cho khi VBA chạy xong nó tự đóng lại mà tìm hoài chưa tìm được code nào, hic
Muốn vậy thì thử code này xem sao.
Mã:
Application.Quit
 
Upvote 0
Để copy dữ liệu sang file khác thì sửa code lại như sau (Chú ý là file "file vidu 2" phải đang mở):
Mã:
Sub LocTrung01()
Dim lastRow As Long, iRow%, Rng As Range
Dim Wb As Workbook, tWb As Workbook
    Set tWb = ThisWorkbook
    Set Wb = Workbooks("file vidu 2.xlsx")
    With tWb.Sheets("copyValue")
        lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        iRow = .Range("A101:E" & lastRow).Rows.Count
        Set Rng = Wb.Sheets("data").[D65000].End(xlUp).Offset(1, 0)
        .Range("A101:E" & lastRow).Copy Rng
        Rng.Resize(iRow, 5).Value = Rng.Resize(iRow, 5).Value
    End With
End Sub

Muốn vậy thì thử code này xem sao.
Mã:
Application.Quit
Tuyệt quá, nó đã chạy. Cảm ơn bạn !
 
Upvote 0
Web KT

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

Back
Top Bottom