Mua hosting giá rất rẻ => Xem ngay
hoc excel gif Excel VBA

Quảng cáo

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.

Quảng cáo

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.

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.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
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.

Quảng cáo

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.

Quảng cáo

Quảng cáo

Danh sách bài tập

Các chủ đề liên quan:

Quảng cáo

Top