excel vba复制行并粘贴到新工作表作为pastevalue

时间:2017-09-17 14:47:26

标签: excel vba excel-vba

我想将表格“摘要”行A44(带有公式的动态数据的固定行)复制到sheet18(行A3),A1和A2是标题;我有以下vba代码并设法这样做。我想将数据复制并粘贴为值(如Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False),以便数据转换为绝对数字,任何人如何编辑代码?

Sub COPY_SUMMARY2COPYDATA()

    Set des = Sheet18.Range("a1")

    With Worksheets("SUMMARY")
        .Rows(Range("A44").Row).Copy
        des.Range("A3").Insert Shift:=xlUp
    End With

    Application.CutCopyMode = False

End Sub

2 个答案:

答案 0 :(得分:0)

请试试这个:

Sub COPY_SUMMARY2COPYDATA()    

    Dim LastRow As Long

    LastRow = Sheet18.Cells(Rows.Count,1).End(XlUp).Row + 1

    Sheets("SUMMARY").Rows("44").Copy         
    Sheet18.Rows(LastRow).PasteSpecial xlPasteValues

    Application.CutCopyMode = False

End Sub

希望这个帮助

答案 1 :(得分:0)

要查找A列中的第一个空白单元格,请从下向上查看并向下偏移一行。

使用.Value2的直接值传输来传递'数据将转换为绝对数字'。这将废弃区域货币和日期约定以及支持原始基础价值的公式。

with Worksheets("SUMMARY")
    with intersect(.usedrange, .rows(44).cells)
        Sheet18.cells(.rows.count, "A").end(xlup).offset(1, 0).resize(.rows.count, .columns.count) = .value2
    end with
end with