Trong Microsoft Excel, chúng tôi có thể sao chép các ô từ hàng ô hoạt động sang một trang tính cụ thể. Trong bài viết này, chúng tôi sẽ sử dụng mã VBA để chuyển dữ liệu từ mọi trang tính và hợp nhất dữ liệu thành một trang tính. Chúng tôi sẽ thêm một trang tính Chính trong sổ làm việc và lưu dữ liệu từ phạm vi được chỉ định vào một trang tính.

_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 chúng ta chạy macro, các ô sẽ được đặt bên dưới hàng cuối cùng với dữ liệu sau Cột cuối cùng trong sheet2. Macro này sẽ sao chép các ô từ Cột A, D từ ActiveCell._

Sau đây là hình ảnh của dữ liệu mẫu:

image 1

Để sao chép các ô từ hàng activecell sang Sheet2; chúng ta cần làm theo các bước sau để khởi chạy trình soạn thảo VB:

Nhấp vào tab Nhà phát triển Từ nhóm Mã chọn Visual Basic

image 2

===

  • Nhấp vào Chèn rồi đến Mô-đun

image 3

Thao tác này sẽ tạo mô-đun mới Nhập mã sau vào Mô-đun chuẩn

Sub CopyCells()

Dim sourceRange As Range

Dim destrange As Range

Dim Lr As Long

Lr = LastRow(Sheets("Sheet2")) + 1

Set sourceRange = Sheets("Sheet1").Cells( _

ActiveCell.Row, 1).Range("A1:D1")

Set destrange = Sheets("Sheet2").Range("A" & Lr)

sourceRange.Copy destrange

End Sub
Sub CopyCellsValues()

Dim sourceRange As Range

Dim destrange As Range

Dim Lr As Long

Lr = LastRow(Sheets("Sheet2")) + 1

Set sourceRange = Sheets("Sheet1").Cells( _

ActiveCell.Row, 1).Range("A1:D1")

With sourceRange

Set destrange = Sheets("Sheet2").Range("A" _

& Lr).Resize(.Rows.Count, .Columns.Count)

End With

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

image 4

image 5

===

Để kiểm tra mã VBA trên; thêm dữ liệu trong phạm vi “A1: D1” và sau đó chạy macro bằng cách nhấn phím tắt F5 Dữ liệu được lưu trữ trong phạm vi được chỉ định sẽ được sao chép vào “Sheet2” bắt đầu từ A1

image 6

  • Nếu chúng ta chạy lại macro này; dữ liệu sẽ được lưu trong hàng tiếp theo; tham khảo hình ảnh bên dưới:

image 7

Chúng ta có thể thay đổi phạm vi trong macro trên phù hợp với yêu cầu của chúng ta Kết luận: * Với macro trên, chúng ta có thể sao chép các ô từ hàng Activecell sang một trang tính mới bằng mã VBA.

image 48

Nếu bạn thích blog của chúng tôi, hãy chia sẻ nó với bạn bè của bạn trên Facebook. Và bạn cũng có thể theo dõi chúng tôi trên Twitter và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện, bổ sung hoặc đổi mới công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi tại [email protected]