Thầy ơi, thầy giúp em với ạ, em muốn tìm cột cuối cùng rồi copy dữ liệu để điền vào cột tiếp theo thì làm thế nào ạ?
Chào bạn bạn đang muốn code tìm cột cuối đúng không? bạn đọc bài viết sau, file của bạn chưa chia sẻ lên gitiho không xem được bạn nhé.
https://docs.google.com/spreadsheets/...
em muốn tìm cột cuối cùng của dòng 25 ( ví dụ hiện dữ liệu đang ở cột R ) sau đó copy dữ liệu của ( A1:A24 ) để điền vào cột tiếp theo là cột S thì làm thế nào Thầy ơi?. Em chưa copy tất cả dữ liệu từ A1:A24 để điền vào cột S được, mong Thầy chỉ em với ạ
Câu lệnh tìm cột cuối có thể viết như sau:
Dim lastColumn As Integer
lastColumn = ws.Cells(25, ws.Columns.Count).End(xlToLeft).Column
trong đó số 25 thể hiện số dòng mà bạn muốn dùng làm căn cứ để tìm.
=> khi đó lastColumn sẽ là 1 con số (chứ không phải chữ cái). Để viết được thành dạng Range bạn có thể viết theo phương pháp:
Range(Cells(1, lastColumn), Cells(24, lastColumn)).Value = Range("A1:A24")
https://drive.google.com/file/d/136u9...
Thầy ơi, em viết code nhưng khi chạy nó lại bị hiện tượng không copy dữ liệu vào cột S mà các dữ liệu của cột R mất hết luôn. Ấn lần nữa là các dữ liệu cột Q mất hết.... cứ ấn là mất hết cho đến khi quay lại cột đầu tiên cột A cũng mất... Em nhờ Thầy chỉnh sửa lại lỗi giúp em với ạ.
https://drive.google.com/file/d/1rLv9...
Dạ đây Thầy ơi, em nhờ Thầy xem giúp em với ạ
Thầy ơi, Thầy xem trợ giúp em vấn đề trên với ạ. Em chưa xử lý được Thầy à
Chào bạn bạn thử code sau nhé
Sub CopyAndPates()
Dim dc As Long
dc = Sheet1.Range("A" & Sheet1.Rows.Count).End(xlUp).Row
Dim LastCol As Integer
With ActiveSheet
LastCol = .Cells(25, .Columns.Count).End(xlToLeft).Column
Range(Cells(1, 1), Cells(dc, LastCol)).Copy
.Cells(1, LastCol + 1).Select
.Paste
End With
End Sub
Dạ code trên của Thầy đang copy toàn bộ từ vùng (A1:R28) paste vào cột tiếp theo ( cột S ). E chỉ muốn copy vùng (A1:A25) rồi điền vào cột tiếp theo là cột S, ấn thì thì lại tiếp tục lưu đến cột T....thôi Thầy ạ.
Chào bạn bạn thay đổi lại một chút nhé
With ActiveSheet
LastCol = .Cells(dc, .Columns.Count).End(xlToLeft).Column
Range(Cells(1, 1), Cells(dc, 1)).Copy
.Cells(1, LastCol + 1).Select
.Paste
End With
Phần dòng cuối bạn xem lại do có 1 cái text nhé.
Dạ vâng ạ, em cảm ơn Thầy ạ