gpt4 book ai didi

excel - For Each 循环中的 Copy PasteSpecial 不规则退出

转载 作者:行者123 更新时间:2023-12-02 18:34:01 25 4
gpt4 key购买 nike

我有一个例程来复制隐藏的备份公式以进行选择,该公式在 Excel 2003/2007/2010 中运行良好。当我在 2013 年运行它时,它开始完成选择,然后退出,没有给出错误消息。仅测试此循环时,它可能会运行 2 个单元格,也可能会运行 5 个单元格,但绝不会超过 6 个。因为选择的内容大多是一组不连续的单元格,所以我无法轻松地一次复制整个范围无需进行大手术即可重命名所有范围。

知道 2013 年发生了什么吗?我现在该怎么做才能让它正常工作?

这是未运行的代码的核心:

Sub TestLoop()
Dim c As Range

For Each c In Selection
If c.Locked = False And Not IsNumeric(c.Offset(0, 30).Formula) _
And c.Offset(0, 30).Formula <> "" Then
With c
.Offset(0, 30).Copy
.PasteSpecial xlPasteFormulas
End With
End If
Next c

End Sub

最佳答案

尝试跳过剪贴板,直接复制公式。我遇到了像这样使用剪贴板的宏的问题 - 我认为由于剪贴板实际上是为最终用户设计的,它只是不是被设计为被程序用作临时数据存储,所以你会遇到一些不稳定的情况行为。

更改此代码:

.Offset(0, 30).Copy
.PasteSpecial xlPasteFormulas

对此:

.FormulaR1C1 = .Offset(0, 30).FormulaR1C1

关于excel - For Each 循环中的 Copy PasteSpecial 不规则退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20914092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com