Tách dữ liệu trong một trang tính theo số hàng cụ thể bằng VBA trong Microsoft Excel
Trong bài viết này, chúng ta sẽ tạo macro để chia nhỏ dữ liệu theo số hàng cụ thể.
Chúng tôi có dữ liệu thô trong trang tính “RawData”. Chúng tôi muốn chia dữ liệu này thành nhiều trang tính.
Trước khi chạy macro, chúng ta cần xác định số hàng được yêu cầu trong mỗi trang tính.
Giải thích mã
CntRows = Cint (Trang tính (“Chính”). TextBox1.Value)
Đoạn mã trên được sử dụng để đếm số lượng trang tính cần thiết trong một trang tính.
LastRow = .Range (“A” & .Rows.Count) .End (xlUp) .Row Đoạn mã trên được sử dụng để lấy số hàng của ô cuối cùng.
Sheets.Add after: = Sheets (Số lượng trang tính)
Đoạn mã trên được sử dụng để thêm một trang tính mới sau trang tính cuối cùng.
Đoạn mã trên được sử dụng để sao chép số hàng được chỉ định sang một trang tính mới.
Vui lòng theo dõi bên dưới để biết mã
Option Explicit Sub SplitDataToMultipleSheets() 'Declaring variables Dim LastRow As Long, n As Long, CntRows As Long Dim LastColumn As Integer 'Getting count of number of rows required in one sheet CntRows = CInt(Sheets("Main").TextBox1.Value) 'Disabling screen updates Application.ScreenUpdating = False With Sheets("RawData") 'Getting row number and column number of last cell LastRow = .Range("A" & .Rows.Count).End(xlUp).Row LastColumn = .Range("A1").SpecialCells(xlCellTypeLastCell).Column 'Looping through data in the sheet For n = 1 To LastRow Step CntRows 'Adding new worksheet Sheets.Add after:=Sheets(Sheets.Count) 'Copying data to new worksheet .Range("A" & n).Resize(CntRows, LastColumn).Copy Range("A1") Next n .Activate End With 'Enabling screen updates Application.ScreenUpdating = True End Sub
Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.
Chúng tôi rất muốn nghe ý kiến từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]