我在Excel中添加了一个简单的宏,但它似乎使我的Excel崩溃了很多。有谁知道为什么?添加宏后Excel崩溃
这里的宏:
Sub PlanRelativityTesting()
With Sheets("Sheet1")
For i = 8 To 9
.Range("D11").value = .Range("G" & i).value
Call AnotherMacro
Sheets("Sheet2").Select
.Range("H" & i).value = Sheets("Sheet2").Range("AE20").value
.Range("I" & i).value = Sheets("Sheet2").Range("AE21").value
.Range("J" & i).value = Sheets("Sheet2").Range("AE22").value
.Range("K" & i).value = Sheets("Sheet2").Range("AE23").value
.Range("L" & i).value = Sheets("Sheet2").Range("AE24").value
.Range("M" & i).value = Sheets("Sheet2").Range("AE25").value
.Range("N" & i).value = Sheets("Sheet2").Range("AE26").value
.Range("O" & i).value = Sheets("Sheet2").Range("AE27").value
.Range("P" & i).value = Sheets("Sheet2").Range("AE28").value
.Range("Q" & i).value = Sheets("Sheet2").Range("AE29").value
.Range("R" & i).value = Sheets("Sheet2").Range("AE30").value
.Range("S" & i).value = Sheets("Sheet2").Range("AE31").value
Next i
.Select
End With
End Sub
为什么不你只需将一个范围的转置分配给另一个范围?另外,由于你的代码引用了一些神秘的AnotherMacro,所以谁能说出问题所在?你显示的代码是没有问题的(虽然不必要的冗长)。 –
你是否也检查过被调用函数?根据您的工作表的大小和excel的版本(x64或x86),您可能会针对2 GB RAM限制运行。你也可以考虑为单元使用一个相对地址,所以你不必输入太多的代码,即范围(单元格(1,1),单元格(5,3))是A1:C5,并允许循环遍历行和列。如果这是你正在尝试做的事,转置是一个更简单的解决方案。 – Zediiiii
嗨Zediiiii,谢谢你的评论!它运行在32位Excel上,它是39 KB。所以尺寸可能不是问题?你能想到另一个原因吗? – JBB