gpt4 book ai didi

excel - 在 Excel VBA : Compile and Run Time Errors 中复制和粘贴单元格值

转载 作者:行者123 更新时间:2023-12-04 21:48:38 25 4
gpt4 key购买 nike

我正在使用 excel VBA 设置重复代码,该代码将从一个工作表中复制公式值并将值粘贴到另一个工作表上的运行列表中。我可以将公式复制并粘贴到所需位置,但是我需要在此代码中进行哪些更改才能仅复制和粘贴值?

我已经尝试了此代码的各种变体:

  • .Value在底部的复制和/或粘贴命令之后
  • .PasteSpecial xlPasteValues (给出编译错误,预期语句结束)
  • .Value定义要复制的单元格时(给出运行时错误“438”)
  • 更改 Dim我将变量复制和粘贴到变量、字符串和范围的类型

  • Sub snapShot()
    Dim sourceSheet As String, destinationSheet As String
    Dim copyR As Range, copyT As Range
    Dim pasteR As Range, pasteT As Range
    sourceSheet = "REPORT"
    destinationSheet = "Historical Changes"

    Set copyR = Worksheets(sourceSheet).Range("I2")
    Set copyT = Worksheets(sourceSheet).Range("I3")

    With Sheets(destinationSheet)
    Set pasteR = .Cells(.Rows.Count, 1).End(xlUp)(2, 1)
    Set pasteT = .Cells(.Rows.Count, 1).End(xlUp)(2, 2)
    End With

    copyR.Copy pasteR.PasteSpecial xlPasteValues 'Compile Error: Expected: End of Statement
    copyT.Copy pasteT.PasteSpecial xlPasteValues 'Compile Error: Expected: End of Statement
    pasteT.Columns(2) = Now() 'This gives a time stamp next the my columns
    Application.OnTime Now() + TimeValue("24:00:00"), "snapShot"

    End Sub

    如果我删除 .PasteSpecial xlPasteValues我的代码可以正常复制和粘贴公式,但由于我想要时间戳数据,我只想要值,而不是公式。
    我目前正在

    Compile Error: Expected: End of Statement



    如果我将其更改为 .Values我明白了

    Run-time error '438': Object doesn't support this property or method



    如果您看到任何可以解决此问题的方法,请告诉我!我敢肯定这很简单,但我已经在这个问题上停留了一段时间。

    最佳答案

    使用 PasteSpecial 时此位需要位于 Copy 的单独行上,如:

    copyR.Copy
    pasteR.PasteSpecial xlPasteValues

    在这种特殊情况下,可以完全避免剪贴板并直接传输值,这在代码和操作上都更短。如:
    pasteR.value=copyR.value

    关于excel - 在 Excel VBA : Compile and Run Time Errors 中复制和粘贴单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58818908/

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