Home > Excel > Excel VBA > Thực hành Cut- Copy - Paste các ô Excel bằng VBA

Thực hành Cut- Copy - Paste các ô Excel bằng VBA

Trong bài tập này chúng ta sẽ thực hành với các hàm Cut / Copy và Paste trong VBA bằng cách tạo ra các Macro, cùng với đó là phân tích sự khác nhau giữa các hàm đó.

Đề bài: Hãy đưa ra các ví dụ về các trường hợp khác nhau của các hàm Cut / Copy và Paste.

1. Copy (Cut) và Paste một ô Excel

Trong VBA, để copy hoặc cut một ô Excel thì ta thực hiện như trong ví dụ dưới đây.

Sub Paste_OneCell()

    'Copy và Paste một Cell
    Range("A1").Copy Range("B1")

    'Cut và Paste một Cell
    Range("A1").Cut Range("B1")

End Sub

2. Copy Selection

Nếu bạn muốn copy một vùng chọn (selection) đang active thì sử dụng đoạn code sau.

Bài viết được đăng tại freetuts.net

Sub CopySelection()
    
    'Paste vao mot range
    Selection.Copy Range("b1")
    
    'Offset Paste (vi tri nhay xuong 2 o va qua 1 phai 1 o
    Selection.Copy
    Selection.Offset(2, 1).Paste
    
    Application.CutCopyMode = False

End Sub

3. Copy (Cut) và Paste một Range

Trong ví dụ dưới đây mình đã copy và cut dãy ô từ A1:A3 đến dãy ô B1:B3.

Sub Paste_Range()

    'Copy 
    Range("A1:A3").Copy Range("B1:B3")

    'Cut 
    Range("A1:A3").Cut Range("B1:B3")

End Sub

4. Copy (Cut) và Paste một Column

Ví dụ dưới đây mình copy column A sang column B.

Sub PasteOneColumn()

    'Copy 
    Range("A:A").Copy Range("B:B")


    'Cut 
    Range("A:A").Cut Range("B:B")

End Sub

5. Copy (Cut) và Paste một Row

Ví dụ dưới đây mình copy Row 1 sang Row 2.

Sub Paste_OneRow()

    'Copy 
    Range("1:1").Copy Range("2:2")


    'Cut 
    Range("1:1").Cut Range("2:2")

End Sub

6. Copy (Cut) và Paste qua sheet khác

Ta chỉ cần kết hợp đối tượng Workbooks và Worksheets để chỉ định rõ tên sheet cần lấy.

Sub Paste_Other_Sheet_or_Book()

    'Cut / Copy / Paste qua worksheet khác
    Worksheets("sheet1").Range("A1").Copy Worksheets("sheet2").Range("B1") 'Copy
    Worksheets("sheet1").Range("A1").Cut Worksheets("sheet2").Range("B1") 'Cut

    'Cut / Copy / Paste qua workbook khác
    Workbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Copy _ 
    Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'Copy
    Workbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Cut _ 
    Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'Cut

    Application.CutCopyMode = False
End Sub

7. Hiểu về giá trị khi copy

Khi bạn sử dụng chuột để thao tác copy trên Excel thì sẽ sao chép cả giá trị, công thức và những format của cell đó. Và các hàm trên cũng vậy, nó sẽ copy toàn bộ giá trị và những gì bạn đã thiết lập trên ô đó.

Vì vậy, để copy giá trị thôi thì ta nên sử dụng thuộc tính value.

Sub ValuePaste()

    'Set Value của các cell cùng sheet
    Range("B1").value = Range("A1").value
    Range("B1:B3").value = Range("A1:A3").value

    'Set Values giữa các cell trên các sheet
    Worksheets("sheet2").range("A1").value = Worksheets("sheet1").range("A1").value

    'Set Values giữa các cell trên các workbook
    Workbooks("book2.xlsm").Worksheets("sheet1").range("A1").value = _
    Workbooks("book1.xlsm").Worksheets("sheet1").range("A1").value

    Application.CutCopyMode = False
End Sub

Trên là một số ví dụ về cách sử dụng ba phương thức Cut - Copy và Paste trong VBA. Hy vọng những ví dụ này sẽ giúp bạn hiểu bài hơn.

Bình luận đã đóng, nếu có thắc mắc hãy đặt câu hỏi tại hoicode.com để admin trả lời.

Nguồn: freetuts.net

Danh sách bài tập
Thiết lập giá trị cho một ô Excel bằng VBA
Thiết lập công thức cho các ô Excel bằng VBA
Viết thủ công thêm sự kiện click vào một Button VBA
Thực hành Cut- Copy - Paste các ô Excel bằng VBA
Cách sử dụng thuộc tính Select VBA để chọn phạm vi các ô Excel
Sử dụng Offset trong VBA để chọn một ô hoặc dãy ô Excel
Thuộc tính Resize Range trong VBA - thay đổi kích thước của phạm vi

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP