【问题标题】:copying and pasting specific values of a row复制和粘贴行的特定值
【发布时间】:2016-06-13 22:04:00
【问题描述】:

这对你来说可能太容易了,但我是 vba 的新手。我有以下代码;在我的主文件打开时打开多个文件。

  Dim StrFile As String
 Dim WB As Workbook
    Dim InputFilePath As String
 InputFilePath = "Z:\1000_Entwicklung\05_PROJECT\0558000_CFT    \055800L_CFT_Projektleitung\99_Arbeitsordner PL\Tanverdi, Yigit\SAA\"
 StrFile = Dir(InputFilePath & "*")

Do While Len(StrFile) > 0
    Set WB = Workbooks.Open(InputFilePath & StrFile)
    WB.Activate
        sheets("data").Select
        sheets("data").Move After:=Workbooks("makrotochange.xlsm").sheets(23)
        StrFile = Dir()
Loop

   Dim copiedSheet As Worksheet
   Dim masterSheet As Worksheet

Set copiedSheet = Worksheets("data")
Set masterSheet= Worksheets("masterSheet")

我想复制 A 列的单元格;乙; C; D 从数据表中的每一行然后将其粘贴到 mastersheets 第一个空行,到 D 列; C;一个; B 按顺序(单元格 A 将粘贴到 masterSheet 中的单元格 D,B 粘贴到 C,C 粘贴到 C,D 粘贴到 B 等)。

行数是动态的,所以我希望能够复制copySheet 包含的任何行的A;B;C;D 并将其粘贴到masterSheets D;C;A;B 单元格中的第一个空行。

有人知道我该怎么做吗?

编辑: 我想要一个copySheet2,它应该操作相同的东西,但它应该将目标(masterSheet)粘贴到下一个空行?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    这应该是你所追求的。这是将数据从一个位置复制到另一个位置的最简洁方法,无需在任何地方使用.Select

    copiedSheet.Range("A:A").Copy Destination:= masterSheet.Range("D:D")
    copiedSheet.Range("B:B").Copy Destination:= masterSheet.Range("C:C")
    copiedSheet.Range("C:C").Copy Destination:= masterSheet.Range("A:A")
    copiedSheet.Range("D:D").Copy Destination:= masterSheet.Range("B:B")
    

    【讨论】:

    • 非常感谢!我还有一个问题,如果我想要一个copySheet2,它应该操作相同的东西,但它应该将目标(masterSheet)粘贴到下一个空行?
    • @BartuSaner 如果答案是正确的,那么请accept the answer 这样并(可能)投票赞成答案。如果您有一个新问题,那么您应该发布一个新问题。如果您认为这样的参考有价值,您可以(当然)在您的新问题中链接到这篇文章。顺便说一句:(+1) 来自我的这篇文章。
    猜你喜欢
    • 2021-03-05
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多