[VBA Excel] Cut, Copy Và Paste
Có thể bạn quan tâm
Thao tác với bảng tính Excel, chắc bạn cũng quá quen với lệnh Cut (Ctrl + X), Copy (Ctrl + C) và dán dữ liệu bằng lệnh Paste (Ctrl + V). Vậy trong VBA Excel, các lệnh trên sẽ được sử dụng và thực hiện như thế nào?
VBA Excel đã hỗ trợ sẵn các lệnh như Cut, Copy, Paste và đặc biệt là Paste Special. Và làm sao để sử dụng thì bài viết này sẽ giúp bạn.
Cách Copy và Paste bằng VBA Excel
Bằng VBA bạn có thể copy Cells hoặc Range. Và khi Paste, bạn cần chỉ định Cells bắt đầu, Excel sẽ tự động điền theo thứ tự hoặc bạn có thể tự lựa chọn.
Sub copy_paste() Dim wb As Workbook Dim sh As Worksheet Set wb = ThisWorkbook Set sh = wb.Sheets(1) sh.Range("A1:H6").Copy Destination:=sh.Range("J2") sh.Range("J2:Q7").EntireColumn.AutoFit End Sub Code language: Vala (vala)Cut và Paste
Khác với Copy là sao chép dữ liệu, lệnh Cut sẽ sao chép dữ liệu và đồng thời cũng xóa dữ liệu gốc.
Về cách viết lệnh cũng tương tự như Copy, bạn chỉ cần thay đổi lệnh Copy thành Cut.
Sub cut_paste() Dim wb As Workbook Dim sh As Worksheet Set wb = ThisWorkbook Set sh = wb.Sheets(1) sh.Range("A1:H6").Cut Destination:=sh.Range("J2") sh.Range("J2:Q7").EntireColumn.AutoFit End Sub Code language: JavaScript (javascript)Với Copy hoặc Cut và Paste vừa tìm hiểu thì bạn đã có thể lấy được giá trị, Formula, định dạng, Comments …Tuy vậy, Excel cùng hỗ trợ Paste Special với nhiều tùy chọn khác nhau. Vậy Paste Special sẽ giúp chúng ta thực hiện được những gì?
Paste Special
Paste Special sẽ giúp bạn Paste dữ liệu theo chủ đích.
Ví dụ, bạn chỉ muốn giữ lấy giá trị hoặc định dạng dữ liệu hoặc Formula trong vùng dữ liệu được Copy. Thì lệnh Paste thông thường sẽ không thực hiện được mà bạn phải sử dụng PasteSpecial.
Vậy trong VBA Excel, làm sao để sử dụng Paste Special?
Các bạn xét qua các ví dụ dưới đây nhé.
Ví dụ: Cho một bảng giá trị như hình. Trong đó,
- Tổng: công thức tính (Số 1 + Số 2)
- Hiệu: công thức tính (Số 1 – Số 2)
- Định dạng tùy chỉnh: số âm màu đỏ, số dương màu xanh
=> Thao khảo: Định dạng tùy chỉnh Excel.
- Sử dụng hàm VBA như dưới đây:
PasteValues
sh.Range("H2:K9").PasteSpecial xlPasteValues Code language: CSS (css)=> Kết quả: Lệnh Paste xlPasteValues chỉ lấy giá trị trong vùng dữ liệu được Copy và không lấy các loại định dạng.
PasteFormats
sh.Range("H2:K9").PasteSpecial xlPasteFormats Code language: CSS (css)Kết quả: Lệnh Paste xlPasteFormats sẽ chỉ lấy các định dạng Format, bao gồm các định dạng Text, Number… và không lấy giá trị.
PasteFormulas
sh.Range("H2:K9").PasteSpecial xlPasteFormulas Code language: CSS (css)Kết quả: Lệnh Paste xlPasteFormats sẽ lấy giá trị và bao gồm cả công thức tính và không lấy định dạng. Các địa chỉ trong công thức cũng sẽ được tự động điều chỉnh.
PasteComments
sh.Range("H2:K9").PasteSpecial xlPasteComments Code language: CSS (css)Kết quả: Lệnh Paste xlPasteComments chỉ lấy các Comments trong vùng giá trị được sao chép.
PasteValuesAndNumberFormats
sh.Range("H2:K9").PasteSpecial xlPasteValuesAndNumberFormats Code language: CSS (css)Kết quả: Lệnh Paste xlPasteValuesAndNumberFormats sẽ lấy giá trị và các định dạng dữ liệu Number và không lấy các định dạng khác.
PasteValidation
sh.Range("").PasteSpecial xlPasteValidation Code language: CSS (css)Lệnh xlPasteValidation được sử dụng khi bạn muốn sao chép các dữ liệu trong Range chứa các Data Validation.
Ví dụ: Tạo một Combobox bằng Data Validation, khi sử dụng lệnh xlPasteValidation nó sẽ lấy các thuộc tính để tạo một Combobox khác và không bao gồm giá trị hiện tại của Combobox được sao chép.
Kết luận
Như vậy, bạn đã tìm hiểu quá các lệnh Copy, Cut, Paste và PasteSpecial thông dụng được sử dụng trong VBA Excel. Với các kiến thức đã được trình bày, hy vọng bạn đã có thể áp dụng vào công việc của mình.
Chúc bạn vui!
Từ khóa » Câu Lệnh Copy Trong Vba Excel
-
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
-
Cách Sao Chép Một Hàng Trong Excel VBA
-
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