将数据从包含一张表的主工作簿复制到另一个包含多张表的工作簿

问题描述 投票:0回答:1

我有一本主工作簿,其中一张纸每 1 分钟更新一次所有数据, 主工作表中每一行的数据属于另一个工作簿上的一个特定工作表,

想要循环访问 Workbook1 中的主工作表以获取每一行数据 附加到 Workbook2 中的每个工作表。

Ex: Workbook1(Sheet1)             Workbook2(sht1.....100+
    row1         append to         sht1 
    row2         append to         sht2
    row3         append to         sht3

工作簿1 ==> 工作表1 工作簿2==> sht1,sht2,sht3,sht4....最多100+

已尝试下面的代码,它在引用主工作表单元格范围和目标工作表单元格范围时出错

wsCopy.Range(Cells(S, 2), Cells(S, 15)).Copy _
        'wsDest.Range("B" & lDestLastRow)

Sub copy_eachrow_from_master()

Dim wsCopy As Worksheet
Dim wsDest As Worksheet
Dim lCopyLastRow As Long
Dim lDestLastRow As Long
  

'EOD_DATA.xlsx is master workbook with Sheet1
'Temp_new.xlsm is having 100's of worksheets.

  Dim i As Long
  For i = 1 To 180
      Set wsCopy = Workbooks("EOD_DATA.xlsx").Worksheets("Sheet1")
      
     Set wsDest = Workbooks("Temp_new.xlsm").Worksheets(i)
     
     lDestLastRow = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Offset(1).Row
             
    wsCopy.Range(Cells(i, 2), Cells(i, 15)).Copy _
        'wsDest.Range("A" & lDestLastRow)
        
    
    Next S
    MsgBox "Code done"
    

End Sub
excel vba
1个回答
0
投票

来自上面的评论:

Sub copy_eachrow_from_master()

    Dim wsCopy As Worksheet, wbDest As Workbook, i As Long
      
    Set wsCopy = Workbooks("EOD_DATA.xlsx").Worksheets("Sheet1")
    Set wbDest = Workbooks("Temp_new.xlsm")

  
    For i = 1 To 180          
        With wbDest.Worksheets(i)
            wsCopy.Cells(i, 2).Resize(1, 14).Copy _   
                 .Cells(.Rows.Count, "A").End(xlUp).Offset(1)
        End With     
    Next i
    MsgBox "Code done"

End Sub
© www.soinside.com 2019 - 2024. All rights reserved.