chia một excel lớn thành các tệp nhỏ hơn nhưng bao gồm tiêu đề trong tất cả các tệp


1

Tôi có một macro mà tôi sử dụng để chia bảng tính excel lớn thành các tệp nhỏ hơn. Nó hoạt động hoàn hảo, ngoại trừ, nó chỉ sử dụng hàng tiêu đề trong tệp đầu tiên được tạo và hàng tiêu đề này (hàng 1) cần ở đầu mỗi tệp mới. Có cách nào để sửa đổi mã này bằng cách nào đó chèn hàng đó vào tất cả các tệp không?

Sub SplitSheets()

' Save sheet in rows of 25000 to incremental CSV files
' JBeaucaire (7/27/2009)

Dim LR As Long, i As Long, Cntr As Long

Dim ws As Worksheet, OldDir As String

If MsgBox("Is this the sheet to parse data from?", vbYesNo + vbQuestion) = vbNo Then Exit Sub LR = Range("A" & Rows.Count).End(xlUp).row

Set ws = ActiveSheet

OldDir = CurDir     'memorizes the user's current working path

Dim v: v = Evaluate("ISREF(TEMP!A1)")

    If Not v Then
        Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Temp"
    Else
        Sheets("Temp").Activate
        Cells.Clear
    End If

ChDir "C:\Users\BartB\Desktop\sheets"     'path to save CSV file into

    For i = 1 To LR Step 2000
        ws.Rows(i & ":" & i + 1999).Copy Range("A1")
        Cntr = Cntr + 1
        ActiveWorkbook.SaveAs Filename:="File" & Cntr & ".csv", FileFormat:=xlCSV, CreateBackup:=False
        Cells.Clear
    Next i

ChDir OldDir        'restores user's original working path
End Sub

Câu trả lời:


0

Bạn sẽ phải tạo các bước trong mã. Ngay trước vòng lặp For Next, hãy viết mã cứng từ hàng một đến hàng một của tệp mới. Sau đó, chỉ cần chắc chắn rằng bạn bắt đầu viết ở dòng hai. Điều này được thực hiện bằng cách thay đổi dòng "For i = 2 thành LR Step 2000"

    ws.Rows("1:1").Copy Range("A1")
    Cntr = Cntr + 1
    ActiveWorkbook.SaveAs Filename:="File" & Cntr & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    Cells.Clear

For i = 1 To LR Step 2000
    ws.Rows(i & ":" & i + 1999).Copy Range("A1")
    Cntr = Cntr + 1
    ActiveWorkbook.SaveAs Filename:="File" & Cntr & ".csv", FileFormat:=xlCSV, CreateBackup:=False
    Cells.Clear
Next i

Chơi với nó nhưng đó là ý tưởng.


Cảm ơn rất nhiều vì đã trả lời nhưng điều đó không hiệu quả. tạo ra một tệp có tiêu đề nhưng không có dữ liệu và sau đó là một loạt các tệp có dữ liệu nhưng không có hàng tiêu đề. Những gì tôi cần là tiêu đề có trên mỗi tệp mới. tức là tôi có một tệp gồm 20000 tên, địa chỉ, điện thoại, v.v. và muốn có 10 tệp 2000 mỗi tên, nhưng mỗi tệp cần một tệp tiêu đề (A1) có tiêu đề cột cho Company_Name, Company_Phone, v.v. có khả năng xử lý hay không.
bart burpasss
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.