Code để chép dữ liệu từ sheet này sang sheet khác

Liên hệ QC

nguyenhoangtuananh9897

Thành viên mới
Tham gia
6/4/22
Bài viết
38
Được thích
11
Chào mọi người,

Mình có đoạn code để copy dữ liệu cột I sheet3 sang cột A và B sheet1. Mình mới tập viết code nên không biết sai ở đâu. Mong mọi người hỗ trợ.

Cám ơn mọi người.
 

File đính kèm

  • New Microsoft Excel Worksheet.xlsm
    17.9 KB · Đọc: 7
Chào mọi người,

Mình có đoạn code để copy dữ liệu cột I sheet3 sang cột A và B sheet1. Mình mới tập viết code nên không biết sai ở đâu. Mong mọi người hỗ trợ.

Cám ơn mọi người.
Sửa thế này coi nào
Mã:
Sub B()
    Dim lr As Long
    lr = Sheets("Sheet3").Range("I" & Rows.Count).End(xlUp).Row
    With Sheets("Sheet1")
         .Range("A:B").ClearContents
         .Range("A2:B" & lr).Value = Sheets("Sheet3").Range("I2:I" & lr).Value
    End with
End Sub
 
Upvote 0
Thường thì chia làm hai món, nếu ổn cả thì code chạy tốt, còn không thì code chạy dốt anh nhỉ.
Không đâu. Mình cứ viết và sẽ lên tay. Chỉ 2 năm giao lưu trên GPE, khả năng viết code của tôi (tôi thấy rõ) là hơn 20 năm trước đó. Nhưng... vẫn sai và sai. Và sai thì sửa thôi.
 
Upvote 0
Không đâu. Mình cứ viết và sẽ lên tay. Chỉ 2 năm giao lưu trên GPE, khả năng viết code của tôi (tôi thấy rõ) là hơn 20 năm trước đó. Nhưng... vẫn sai và sai. Và sai thì sửa thôi.
Em sai nhiều đến mức giờ không muốn viết nữa vì ngại sửa.
 
Upvote 0
Anh lại chê cười rồi
Không đâu. Mình cứ viết và sẽ lên tay. Chỉ 2 năm giao lưu trên GPE, khả năng viết code của tôi (tôi thấy rõ) là hơn 20 năm trước đó. Nhưng... vẫn sai và sai. Và sai thì sửa thôi.
Cái này có lẽ đúng ạ. Cứ lâu lâu không sờ tới cót két là y rằng tự nhiên bị lag. Mãi không nghĩ ra cách giải quyết ấy. Chỉ cần ai chấm nhẹ 1 cái có khi lại ra ngay
Bài đã được tự động gộp:

Thường thì chia làm hai món, nếu ổn cả thì code chạy tốt, còn không thì code chạy dốt anh nhỉ.
Vẫn phải học các anh chị thầy cô nhiều ạ
 
Upvote 0
Mã:
For i = lr_sh_bckho To 2 Step -1
    If Cells(i, 2).Text = "#N/A" Then
        Cells(i, 2).Delete Shift:=xlUp
        Cells(i, 3).Delete Shift:=xlUp
        Cells(i, 4).Delete Shift:=xlUp
        Cells(i, 5).Delete Shift:=xlUp
        Cells(i, 6).Delete Shift:=xlUp
    End If
Next i
Mình đang tập viết code nên không biết cách rút gọn đoạn này. Mong mọi người giúp đỡ :)
 
Upvote 0
Upvote 0
Cám ơn 2 bạn @Phuocam@Hoàng Tuấn 868 .
Mình thắc mắc nếu dùng Range trong trường hợp này thì sẽ như thế nào nhỉ. Ban đầu mình dùng Range nhưng báo lỗi nên mình chuyển qua dùng Cells.
 
Upvote 0
Upvote 0
Cells(i, 2) = Range("B" & i) chứ có gì đâu nhỉ.
Viết Range thì được hỗ trợ cú pháp sau đó chứ viết Cells thì tự thân vận động.
Cells(i, 2).Resize(1, 5) = Range("B" & i & ":F" & i ) ?
Để xoá cả dòng i mình có thể dùng Row(i & ":" & i).Delete Shift:=xlUp không?
Mình đang gặp khó ở vấn đề kết hợp biến i vào Cells, Range và Row vì không biết cách thức viết đúng là như thế nào :)
 
Upvote 0
Cells(i, 2).Resize(1, 5) = Range("B" & i & ":F" & i ) ?
Để xoá cả dòng i mình có thể dùng Row(i & ":" & i).Delete Shift:=xlUp không?
Mình đang gặp khó ở vấn đề kết hợp biến i vào Cells, Range và Row vì không biết cách thức viết đúng là như thế nào :)
Nên tự thử đi thử lại các trường hợp trước khi hỏi.
 
Upvote 0
Cells(i, 2).Resize(1, 5) = Range("B" & i & ":F" & i ) ?
Hiểu thế cũng được.
Để xoá cả dòng i mình có thể dùng Row(i & ":" & i).Delete Shift:=xlUp không?
Nếu ý định của bạn xoá những dòng ở cột B bị lỗi #NA trong khi dữ liệu nhiều thì code khi chạy có thể quay đắm đuối đó
 
Upvote 0
Web KT

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

Back
Top Bottom