所以基本上我已经从我的前任那里得到了一个传统的excel来处理一堆数据。 他基本上命名每个数据点并相应地处理它们。 问题是他的代码没有清除旧的名称,导致这些年份的名称累积。 现在我的excel表中有100k +名字,我无法清除。
我尝试过使用:
Sub dlname
Dim nm as name
For each nm in activeworkbook.names
nm.delete
Next nm
End sub
它总是给我运行时错误7,内存不足。
对此有何解决方案?
答案 0 :(得分:1)
试试这个:
Do While (ActiveWorkbook.Names.Count > 0)
ActiveWorkbook.Names.Item(1).Delete
Loop
答案 1 :(得分:0)
我建议你用(如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