Excel VBA:将多个可变大小的表格/范围复制到大型数据表中

Excel VBA:将多个可变大小的表格/范围复制到大型数据表中

问题描述:

我是这个论坛的高兴读者,帮助我解决了很多问题,但现在我找不到-yet-。首先,我正在学习vba,但仍然是初学者!Excel VBA:将多个可变大小的表格/范围复制到大型数据表中

问:

我正在寻找一个马尔科其中,运行时:选择与变量行多工作表的可变范围:

所以应该选择A25:L25和比了下去,直到最后其中填充单元在table.I发现的行认为是这样的:

Range("A25:L25").Select 
Range(Selection, Selection.End(xlDown)).Select.) 

那么就应该复制的值,并将其粘贴到数据表“PIVOTDATA”上,下面对方。

这是多个工作表,其中数量不同。但工作表的范围是在两张之间:'客户'&'结束'

我试图尽可能具体,希望有人可以帮助!

+0

欢迎#2(SO)。请注意,这不是“为我开发我的代码”网站。而是一个网站,您发布的代码片段不起作用。尝试使用宏录像机记录您需要的代码,然后将其粘贴到您的问题中,然后查看它无法使用的位置。这样你就可以避免在你的问题上使用Downvotes。你所要求的是相当简单和可实现的。 –

+0

你有没有开始尝试你问题中的任何一点?如果不是的话,你可以通过记录你想要在宏中做什么然后从那里开始学习。这里的人很乐意帮忙,但不会为你做这一切!在这一点上,这里是一些开始的地方:如果A25:L25总是表的开始,那么考虑如下:'Dim LRow As Long',然后有'LRow = Sheets(“sheet1”)。Cells(rows.count ,“A”)。End(xlup).Row'。然后你的桌子将在A25:L(LRow)中。这应该有助于你的可变范围问题,尝试将它添加到录制的宏:)祝你好运 – IIJHFII

+0

@ bart1701看到它的第一篇文章,我已经回答了你的问题。让我知道你是否需要 –

这应该工作

Sub CopyDataToPIVOTDATASheet() 

     Dim PivotDataSheet As Worksheet 
     Set PivotDataSheet = ThisWorkbook.Sheets("PIVOTDATA") 

     Dim CurrentWorkSheetIndex As Long 
     Dim CurrentWorkSheet As Worksheet 
     Dim CurrentWorkSheetLastRow As Long 
     Dim PivotDataWorkSheetLastRow As Long 

     For CurrentWorkSheetIndex = ThisWorkbook.Sheets("Clients").Index +1 To ThisWorkbook.Sheets("END").Index - 1 

      Set CurrentWorkSheet = ThisWorkbook.Sheets(CurrentWorkSheetIndex) 
      CurrentWorkSheet.Activate 

      CurrentWorkSheetLastRow = CurrentWorkSheet.Cells(CurrentWorkSheet.Rows.Count, "L").End(xlUp).Row 

      PivotDataWorkSheetLastRow = PivotDataSheet.Cells(PivotDataSheet.Rows.Count, "L").End(xlUp).Row + 1 

      CurrentWorkSheet.Range(CurrentWorkSheet.Cells(25, "A"), Cells(CurrentWorkSheetLastRow, "L")).Copy _ 
          Destination:=PivotDataSheet.Cells(PivotDataWorkSheetLastRow, "A") 

     Next CurrentWorkSheetIndex 

End Sub 
+0

谢谢Jean-Pierre! 我做了几次尝试,下次将确保包括他们,这样人们可以查看努力并尝试帮助我发展我的技能!谢谢 – bart1701

+0

@ brat1701好东西。享受* –