Sao chép một hàng hoặc hàng vào trang tính cơ sở dữ liệu bằng VBA trong Microsoft Excel
-
Các mã ví dụ sẽ sao chép vào một trang cơ sở dữ liệu với tên là Sheet2.
-
Mỗi khi bạn chạy một trong các ô con, các ô sẽ được đặt bên dưới hàng cuối cùng có dữ liệu hoặc sau Cột cuối cùng có dữ liệu trong sheet2.
-
Đối với mỗi ví dụ, có một macro thực hiện sao chép bình thường và một macro chỉ Sao chép Giá trị.
-
Các đăng ký Ví dụ sử dụng các chức năng bên dưới (các macro sẽ không hoạt động nếu không có các chức năng).
Sub CopyRow() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Rows("1:1") Set destrange = Sheets("Sheet2").Rows(Lr) sourceRange.Copy destrange End Sub Sub CopyRowValues() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Rows("1:1") Set destrange = Sheets("Sheet2").Rows(Lr). _ Resize(sourceRange.Rows.Count) destrange.Value = sourceRange.Value End Sub Function LastRow(sh As Worksheet) On Error Resume Next LastRow = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Row On Error GoTo 0 End Function Function Lastcol(sh As Worksheet) On Error Resume Next Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False).Column On Error GoTo 0 End Function