将粘贴从一个文件复制到多个文件

时间:2014-02-04 09:37:14

标签: excel vba excel-vba

我想将一些单元格从一个文件复制到多个文件。为此,宏将复制范围并打开几个文件以粘贴值。我执行循环以打开每个目标文件(每个输出文件的名称的开头是相同的,但扩展名因文件而异:它基于一系列名为Name的单元格)。连接不起作用。 非常感谢你的帮助!!

Sub update()
    Application.ScreenUpdating = False
    Dim wkbkorigin As Workbook
    Dim wkbkdestination As Workbook
    Dim originsheet As Worksheet
    Dim destsheet As Worksheet
    Dim i As Integer
    Dim j As Integer
    Dim nrow As Integer
    Dim ncol As Integer
    Dim Pathref As String
    Dim Name As String

   nrow = Range("names").Rows.Count
   ncol = Range("Range").Columns.Count

'this is the path to the different files, the begin is the same but the extension will be added in the loop (the extentsion is based on the value in the range Name

   Pathref = Range("Pathref").Value & "[yasmine_nouri]"

For i = 1 To nrow

    Name = Range("Names").Cells(i, 1).Value

    Set wkbkorigin = ActiveWorkbook
'here i set my destination file, the begin is the same but the extension is based on the value in the range Name : this concatenation doesn't work.

    Set wkbkdestination = Workbooks.Open([& Pathref & Name & ".xlsb"])

    Set originsheet = wkbkorigin.Worksheets("Completed_DS")
    Set destsheet = wkbkdestination.Worksheets("sheet1")

    originsheet.Range("D4:Q5").Copy
    destsheet.Range("A1").PasteSpecial
    wkbkdestination.Close SaveChanges:=True

Next i


End Sub

1 个答案:

答案 0 :(得分:1)

从评论中可以看出,OP应该改变

Pathref = Range("Pathref").Value & "[yasmine_nouri]"
'...
Set wkbkdestination = Workbooks.Open([& Pathref & Name & ".xlsb"])

Pathref = Range("Pathref").Value & "yasmine_nouri"
'...
Set wkbkdestination = Workbooks.Open(Pathref & Name & ".xlsb")