Cách Sao Chép Một Hàng Trong Excel VBA
Có thể bạn quan tâm
Việc sử dụng VBA để lập trình Excel không còn phổ biến như trước đây. Tuy nhiên, vẫn có rất nhiều lập trình viên thích nó khi làm việc với Excel. Nếu bạn là một trong những người đó, bài viết này là dành cho bạn.
Sao chép một hàng trong Excel VBA là loại điều mà Excel VBA thực sự hữu ích. Ví dụ: bạn có thể muốn có một tệp trong số tất cả các biên lai với ngày tháng, tài khoản, danh mục, nhà cung cấp, sản phẩm / dịch vụ và chi phí được nhập vào từng dòng một khi chúng xảy ra — một ví dụ của kế toán phát triển thay vì kế toán tĩnh. Để làm điều này, bạn cần có khả năng sao chép một hàng từ trang tính này sang trang tính khác.
Một chương trình Excel VBA mẫu sao chép một hàng từ trang tính này sang trang tính khác — chỉ sử dụng ba cột để đơn giản — chứa:
- Một cột alpha cho văn bản
- Một cột số - một tổng tự động được tạo trên trang tính mục tiêu
- Cột ngày - ngày và giờ hiện tại được điền tự động
Cân nhắc khi viết mã VBA trong Excel
Để kích hoạt sự kiện sao chép hàng, hãy sử dụng tiêu chuẩn — điều khiển biểu mẫu Nút. Trong Excel, bấm Chèn trên tab Nhà phát triển. Sau đó, chọn điều khiển dạng nút và vẽ nút ở nơi bạn muốn. Excel tự động hiển thị hộp thoại để cho bạn cơ hội chọn macro được kích hoạt bởi sự kiện nhấp vào nút hoặc để tạo macro mới.
Có một số cách để tìm hàng cuối cùng trong trang tính mục tiêu để chương trình có thể sao chép một hàng ở dưới cùng. Ví dụ này chọn duy trì số lượng của hàng cuối cùng trong trang tính. Để duy trì số của hàng cuối cùng, bạn phải lưu trữ số đó ở đâu đó. Đây có thể là sự cố vì người dùng có thể thay đổi hoặc xóa số. Để giải quyết vấn đề này, hãy đặt nó vào ô ngay bên dưới nút biểu mẫu. Bằng cách đó, người dùng không thể truy cập được. (Điều dễ dàng nhất để làm là nhập một giá trị vào ô và sau đó di chuyển nút trên nó.)
Mã để sao chép một hàng bằng Excel VBA
Sub Add_The_Line () Dim currentRow As Integer Sheets ("Sheet1"). Chọn currentRow = Range ("C2"). Value Rows (7). Chọn Selection.Copy Sheets ("Sheet2"). Chọn Rows (currentRow). Chọn ActiveSheet .Paste Dim theDate As Date theDate = Now () Cells (currentRow, 4) .Value = CStr (theDate) Cells (currentRow + 1, 3). Kích hoạt Dim rTotalCell As Range Set rTotalCell = _ Sheets ("Sheet2"). Ô (Rows.Count, "C"). End (xlUp) .Offset (1, 0) rTotalCell = WorksheetFunction.Sum _ (Range ("C7", rTotalCell.Offset (-1, 0))) Sheets ("Sheet1" ) .Range ("C2"). Giá trị = currentRow + 1 End SubMã này sử dụng xlUp, một "số ma thuật", về mặt kỹ thuật là một hằng số được liệt kê, được nhận dạng bởi phương thức End. Offset (1,0) chỉ đơn giản là di chuyển lên một hàng trong cùng một cột, do đó, hiệu quả thực là chọn ô cuối cùng trong cột C.
Bằng lời, tuyên bố nói:
- Chuyển đến ô cuối cùng trong cột C (tương đương với End + Mũi tên Xuống).
- Sau đó, quay trở lại ô cuối cùng không sử dụng (tương đương với End + Mũi tên Lên).
- Sau đó, đi lên một ô nữa.
Câu lệnh cuối cùng cập nhật vị trí của hàng cuối cùng.
VBA có lẽ khó hơn VB.NET vì bạn phải biết cả hai đối tượng VBA VB và Excel. Sử dụng xlUP là một ví dụ điển hình về loại kiến thức chuyên môn rất quan trọng để có thể viết macro VBA mà không cần tra cứu ba thứ khác nhau cho mỗi câu lệnh bạn viết mã. Microsoft đã đạt được nhiều tiến bộ trong việc nâng cấp trình soạn thảo Visual Studio để giúp bạn tìm ra cú pháp chính xác, nhưng trình soạn thảo VBA không thay đổi nhiều.
Từ khóa » Câu Lệnh Copy Trong Vba Excel
-
[VBA Excel] Cut, Copy Và Paste
-
Thực Hành Cut- Copy - Paste Các ô Excel Bằng VBA
-
Vấn đề Copy Trong VBA | Giải Pháp Excel
-
Cách Sao Chép Nội Dung Từ Workbook đang đóng
-
VBA Excel Cấp Tốc Bài 5 - Copy File Từ Một Thư Mục Sang Thư ...
-
Đối Tượng Range Trong Excel VBA - Viblo
-
Code Copy/Paste Trong Vba Của Excel - Fenix&Nancy
-
Copy / Move / Rename Các Files Bằng Câu Lệnh VBA - YouTube
-
Lập Trình VBA Copy Các Sheet Tự động Ra File Mới Và đặt Tên - YouTube
-
Làm Thế Nào để Tạo Một Nút Lệnh để Sao Chép Và Dán Dữ Liệu Trong ...
-
Range.Copy Method (Excel) - Microsoft Docs
-
Làm Cách Nào để Tắt Các Chức Năng Cắt, Sao Chép Và Dán Trong Excel?
-
Copy Công Thức Bằng VBA - Mạng Xã Hội Webketoan
-
Cách Chặn Copy Dữ Liệu Vào ô Gán Data Validation Bằng VBA đơn Giản