Nối các sheet lại với nhau bằng VBA

Đánh giá post

Hướng dẫn nối các sheet Excel có các cột giống nhau lại thành một bằng VBA

Mã VBA

				
					Sub Combine()
    Dim i As Integer
    Dim headerCount As Variant
    Dim rsRow As Worksheet
    On Error Resume Next
LInput:
    headerCount = Application.InputBox("Điền số thứ tự của dòng tên cột", "", "1")
    If TypeName(headerCount) = "Boolean" Then Exit Sub
    If Not IsNumeric(headerCount) Then
        MsgBox "Chỉ được nhập số", , "Msgbox"
        GoTo LInput
    End If
    Set rsRow = ActiveWorkbook.Worksheets.Add(Sheets(1))
    rsRow.Name = "Combined"
    Worksheets(2).Range("A1").EntireRow.Copy Destination:=rsRow.Range("A1")
    For i = 2 To Worksheets.Count
        Worksheets(i).Range("A1").CurrentRegion.Offset(CInt(headerCount), 0).Copy _
               Destination:=rsRow.Cells(rsRow.UsedRange.Cells(rsRow.UsedRange.Count).Row + 1, 1)
    Next
End Sub
				
			

Hướng dẫn sử dụng

Hãy sử dụng phím tắt ALT + F11 để mở cửa sổ VBA trên Excel.

Sau đó, tạo một Module mới, dán đoạn mã trên vào.

Thực thi mã bằng phím F5.

Sau khi chạy, bạn hãy nhập số thứ tự của dòng chứa tên cột, thông thường là 1.

Sheet “Combined” sẽ được tạo ngay sau đó chứa kết quả.

Phía trên là bài viết hướng dẫn nối các sheet Excel có các cột giống nhau bằng VBA.

Chúc bạn áp dụng thành công vào công việc hoặc học tập!

Leave a Reply