复制并粘贴一行的特定值

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

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

有谁知道我能做到这一点?

编辑:我想有一个copiedSheet2应该操作相同的事情,但它应该粘贴目的地(masterSheet)到下一个空行?

这应该是你以后。 这是将数据从一个位置复制到另一个位置而不使用的最.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")