gpt4 book ai didi

excel - 为什么我的 VBA PasteSpecial,操作 := xlAdd doubling the cell values?

转载 作者:行者123 更新时间:2023-12-04 20:28:10 25 4
gpt4 key购买 nike

我正在运行一个非常简单的宏,它从每个时间表中的同一单元格中获取值,并使用特殊粘贴将值添加到汇总表中。

没有出现错误,但最终值是应有的两倍。我是否误解了 xladd 的工作原理,或者我的代码是否以某种方式运行了两次?

For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Summary" Then
ws.Range("D13:E14").Copy
ThisWorkbook.Sheets("SUMMARY").Range("D13:D14").PasteSpecial
Paste:=xlAll, Operation:=xlAdd, SkipBlanks:=True, Transpose:=False
End If
Next

例如,我希望单元格 D13=1 的 6 张纸的输出为 6 小时。我实际得到的是 12 小时。

最佳答案

当我创建一个空工作簿、命名一个工作表摘要并添加其他一些工作表时,您提供的代码工作正常。 我相信您的代码正在检查其他包含不应添加的值的工作表。

检查您的工作簿:

  • 隐藏床单
  • 非常隐藏的工作表(在 VBE 中)

  • 我的测试代码如下所示:
    Sub test()
    Dim ws As Worksheet

    ThisWorkbook.Sheets("SUMMARY").Range("D13:D14").Clear

    For Each ws In ThisWorkbook.Worksheets
    If ws.Name <> "Summary" Then
    ws.Range("D13:E14").Copy
    ThisWorkbook.Sheets("SUMMARY").Range("D13:D14").PasteSpecial _
    Paste:=xlAll, Operation:=xlAdd, SkipBlanks:=True, Transpose:=False
    End If
    Next

    End Sub

    关于excel - 为什么我的 VBA PasteSpecial,操作 := xlAdd doubling the cell values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55394951/

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