'这么多输出数据估计用时要10s以上
Option Explicit
Const MaxNum As Long = 10480000
Sub abc()
Dim a, i As Long, j As Long, m As Long, t As Single
t = Timer
ReDim flag(1 To MaxNum, 1 To 1) As Long
For j = 1 To 253
a = Cells(1, j).Resize(279936).Value
For i = 1 To UBound(a)
If a(i, 1) > 0 Then
If a(i, 1) > MaxNum Then MsgBox a(i, 1): Exit Sub
flag(a(i, 1), 1) = flag(a(i, 1), 1) + 1
End If
Next
Next
For i = 1 To MaxNum
If flag(i, 1) = 1 Then m = m + 1: flag(m, 1) = i
Next
Debug.Print Timer - t
If m > 0 Then
Dim x As Long, y As Long
ReDim a(1 To 2 ^ 20, 1 To m \ 2 ^ 20 + 1) As Long
y = 1
For i = 1 To m
x = x + 1
a(x, y) = flag(i, 1)
If x = 2 ^ 20 Then x = 0: y = y + 1
Next
[iu1].Resize(UBound(a), UBound(a, 2)) = a
Else
MsgBox "无解"
End If
Debug.Print Timer - t, m
End Sub