复制和粘贴行的特定值

时间:2016-06-13 11:52:56

标签: excel vba excel-vba

这对你来说可能太容易了,但我是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列; B; C; D从数据表的每一行然后将其粘贴到mastersheets第一个空行,到D列; C;一个;按顺序排列B(单元格A将粘贴到masterSheet中的单元格D,B到C,C到C和D到B等)。

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

有谁知道我怎么能这样做?

编辑: 我想要一个应该运行相同内容的copiedSheet2,但它应该将目标(masterSheet)粘贴到下一个空行?

1 个答案:

答案 0 :(得分: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")