Excel宏(单独数据)
我有一个excel宏,可以将每列文件分开并保存。我的问题是,我无法使它处理大量行(60000行) 我应该在下面的VBA代码中更改什么才能使其正常工作Excel宏(单独数据),excel,vba,Excel,Vba,我有一个excel宏,可以将每列文件分开并保存。我的问题是,我无法使它处理大量行(60000行) 我应该在下面的VBA代码中更改什么才能使其正常工作 Dim MyFile, NewFile As Variant Dim sort_data As String Dim last_row, tfiles, start_row, ktr As Integer 'Capture errors On Error GoTo ErrorHandler 'Check for
Dim MyFile, NewFile As Variant
Dim sort_data As String
Dim last_row, tfiles, start_row, ktr As Integer
'Capture errors
On Error GoTo ErrorHandler
'Check for complete data
If (Separate.file_open.Value = False And Separate.Filename _
= "") Or Separate.first = "" Or Separate.last = "" Or _
Separate.sort = "" Or Separate.left_column = "" Or _
Separate.right = "" Then
MsgBox "Insufficient data.", 16, "Warning!"
Exit Sub
End If
'Turn application alerts off
Application.DisplayAlerts = False
'Open filename if necessary
If Separate.file_open.Value = False Then
Workbooks.Open Separate.Filename
End If
'Get current workbook name
MyFile = left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) _
- 4)
'Get last row of data
For last_row = Separate.last + 1 To 1048576
If Range(Separate.sort & last_row).Value = "" Then
Exit For
End If
Next last_row
'Sort data
Range(Separate.left_column & Separate.last, Separate.right & last_row).Select
Selection.sort Key1:=Range(Separate.sort & Separate.last + 1), Order1:=xlAscending, Header:=True, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
问题的原因是:
Dim last_row, tfiles, start_row, ktr As Integer
脚本中提到的整数,最大值为32767。您可以使用Long
而不是Integer
Dim last_row, tfiles, start_row, ktr As Long
2147483647,大于excel最大行数