Excel 粘贴多张具有错误#REF not value的图纸中的值

Excel 粘贴多张具有错误#REF not value的图纸中的值,excel,vba,paste,Excel,Vba,Paste,我对VBA代码不粘贴值有问题 代码如下 Set rngSrc = .Range("D29") rngSrc.Copy Destination:=rngDst 问题是,我只得到#REF错误,因为VBA尝试粘贴单元格中的任何内容,但我希望它粘贴特殊值,我无法使其与“粘贴特殊”功能一起工作 有人知道如何让它工作吗?您就快到了,但是您应该使用PasteSpecial方法,而不是Destination方法,检查下面这个漂亮的代码: Private Sub copypaste() Dim rng

我对VBA代码不粘贴值有问题

代码如下

Set rngSrc = .Range("D29")
rngSrc.Copy Destination:=rngDst
问题是,我只得到
#REF
错误,因为VBA尝试粘贴单元格中的任何内容,但我希望它粘贴特殊值,我无法使其与“粘贴特殊”功能一起工作


有人知道如何让它工作吗?

您就快到了,但是您应该使用
PasteSpecial
方法,而不是
Destination
方法,检查下面这个漂亮的代码:

Private Sub copypaste()

    Dim rngSrc As Range
    Dim rngDest As Range
    Dim ws As Worksheet: Set ws = Sheets("Your sheet name")

    Set rngSrc = ws.Range("D29")
    Set rngDest = ws.Range("A33") ' for example

    rngSrc.Copy
    rngDest.PasteSpecial xlPasteValues

End Sub

我觉得这段代码是不言自明的。不过,如果您有任何问题,请告诉我您的
合并数据应该是:

Public Sub CombineDataFromAllSheets()

    Dim wksSrc As Worksheet, wksDst As Worksheet
    Dim rngSrc As Range, rngDst As Range
    Dim lngLastCol As Long, lngSrcLastRow As Long, lngDstLastRow As Long

    Set wksDst = ThisWorkbook.Worksheets("Import")

    For Each wksSrc In ThisWorkbook.Worksheets

        'These need updating on each pass of the loop.
        'Set them at the start, rather than before the loop
        'and at the end of the loop.
        lngDstLastRow = LastOccupiedRowNum(wksDst)
        lngLastCol = LastOccupiedColNum(wksDst)
        Set rngDst = wksDst.Cells(lngDstLastRow + 1, 1)

        If wksSrc.Name <> "Import" Then

            lngSrcLastRow = LastOccupiedRowNum(wksSrc)

            With wksSrc
                Set rngSrc = .Range("D29")
                rngSrc.Copy
                rngDst.PasteSpecial xlPasteValues
            End With

        End If

    Next wksSrc

End Sub
公共子组合数据来自所有表单()
将WKSRC标注为工作表,WKSST标注为工作表
变暗rngSrc As范围,rngDst As范围
暗淡的lngLastCol为长,LNGSRCSTASTROW为长,LNGDSTASTROW为长
设置wksDst=ThisWorkbook.Worksheets(“导入”)
对于此工作簿中的每个WKSRC。工作表
'这些需要在循环的每个过程中更新。
'在开始时设置它们,而不是在循环之前
在循环的最后。
LNGDSTSTASTROW=最近发生的事件(wksDst)
lngLastCol=最近占用的Lnum(wksDst)
设置rngDst=wksDst.Cells(LNGDSTSTSTASTROW+1,1)
如果wksrc.Name为“导入”,则
LNGSRCASTROW=Lastoccupiedochum(WKSRC)
与WKSRC合作
设置rngSrc=.Range(“D29”)
收到
rngDst.Paste特殊XLPaste值
以
如果结束
下一届西九龙文娱艺术中心
端接头

使用
PasteSpecial
您需要复制并粘贴两个命令,而不是使用
Destination
?我不知道如何粘贴这些值。我可以
EL15
?嗯,我对EL15不太熟悉,但如果你愿意,我可以甜言蜜语一点。:)像我5岁那样解释。事情就是这样。只是我不知道如何在一张纸上从100多张纸上得到这些值,但粘贴的不是不起作用的公式,而是值。这在我上面编辑的大型代码中是什么样子?我真的是个新手,我想解决一个问题,我有100张纸,我必须从多张纸中相同位置的单元格中检索值。我想得到多个单元格,我只是用一个单元格试了一下,有很多新代码你都在里面编辑过。几乎听起来像是一个新问题,应该考虑这个解决方案(*cough-cough*),并在一个新的环境中建立它