VBA删除100k +命名的范围

所以基本上我已经从我的前任得到了一个遗留的excel来处理一堆数据。 他基本上命名每个数据点并相应地处理它们。 问题在于他的守则没有清除旧的名字,导致名称在过去几年中积累起来。 现在我的Excel表中有10万个名字,我不清楚。

我试过使用:

Sub dlname Dim nm as name For each nm in activeworkbook.names nm.delete Next nm End sub 

它会一直给我运行时错误7,内存不足。

任何解决scheme?

我build议你用(如Amorpheuses所说)在两者之间保存

  Sub dlname Dim j as long For j=20000 to 1 step -1 if j<=activeworkbook.names.count then activeworkbook.names(j).delete end if Next j activeworkbook.save End sub 

尝试这个:

 Do While (ActiveWorkbook.Names.Count > 0) ActiveWorkbook.Names.Item(1).Delete Loop