这对你来说可能太容易了,但我是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)粘贴到下一个空行?
答案 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")