VBA粘贴/值/转置多个工作簿

时间:2019-04-17 21:21:36

标签: excel vba

抱歉,我确信VBA是我的新手。以前没有类似问题的答案能够解决我的问题。

我有大量的Excel工作簿,每个工作簿中都有多个工作表,每个工作表的名称和所需信息在不同范围内。

为了合并并实质上制作一个手动更新的仪表板类型电子表格,该电子表格包含我一直在复制的数据并将其粘贴到“主表”中的所有最新信息。不同的工作簿(工作)在这一方面也有不同的范围。我一直在使用粘贴特殊,值,转置函数。

在我选择并复制所需的信息之后,我试图提供一个宏粘贴/值/转置。

我从先前的问题中尝试了多个建议,但是似乎没有一个对我有用。

Sub paste_values()

    wbkCurrent.Activate
    Range("Selection").Select
    Selection.Copy
    Windows("job cost summary project.xlsm").Activate
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
End Sub

Sub TransposePaste()
With ActiveCell
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End With
End Sub

我希望有一个宏解决方案,可以将我复制的数据粘贴/转置到另一工作簿中。

1 个答案:

答案 0 :(得分:0)

您好,基本上我了解到您想手动复制,但是希望将信息粘贴到宏中。

如果是这样,我建议您执行以下操作:

  1. 在工作成本汇总项目中。xlsm编写以下代码:

    Sub Pasteinfo 昏暗的WS作为工作表 设置WS = thisworkbook.worksheets(“ Sheet”) ws.cells(rows.count,1).end(xlup).offset(1,0).PasteSpecial Paste:= xlPasteValuesAndNumberFormats,Transpose:= True 结束

  2. 通过转到>开发人员>宏>选择宏>选项(并分配快捷方式)为宏分配快捷方式

通过这些步骤,您可以在手动复制信息后将其粘贴到工作簿中。