我在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