我有一个.all文件,它超过了excel规定的1048576行的限制。
我正在使用以下代码:
Sub open()
book1 = ActiveWorkbook.Name
file1 = Application.GetOpenFilename("ALL Files (*.all), *.all")
Worksheets("res").Range("K1").Value = file1
Workbooks.OpenText file1, origin:=xlWindows, startrow:=1, DataType:=xlTextFormat
del = ActiveWorkbook.Name
ActiveSheet.Copy before:=Workbooks(book1).Sheets(1)
Workbooks(del).Close False
Sheets(1).Activate
ActiveSheet.Name = "acti"
End Sub但是这段代码不适用于长文件,因为这个限制。我的想法是复制原始的.all文件,然后将这个副本分割成限制在1048576行的文件中,将每个被分割的文件复制到一个单独的工作表中,最后修改这个副本。
我在vba...any中很新,可以帮助编写代码吗?
非常感谢。
发布于 2016-07-31 05:00:27
您可以使用下面的代码将文件分割成不同的部分。
Public Sub Split_wb()
Dim i As Integer, arr As Variant, wb As Variant, ws_source As Worksheet
Set ws_source = ActiveSheet
For i = 1 To 5
    arr = ws_source.Range("A" & i * 1000 - 999 & ":T" & i * 1000)
    Set wb = Workbooks.Add
    wb.Sheets(1).Range("A1").Resize(UBound(arr, 1), UBound(arr, 2)).Value = arr
    Set arr = Nothing
Next
End Sub此外,如果Excel无法处理您的要求,我建议您考虑使用Access或Server。
https://stackoverflow.com/questions/38571001
复制相似问题