Excel VBA:将多个可变大小的表格/范围复制到大型数据表中
问题描述:
我是这个论坛的高兴读者,帮助我解决了很多问题,但现在我找不到-yet-。首先,我正在学习vba,但仍然是初学者!Excel VBA:将多个可变大小的表格/范围复制到大型数据表中
问:
我正在寻找一个马尔科其中,运行时:选择与变量行多工作表的可变范围:
所以应该选择A25:L25和比了下去,直到最后其中填充单元在table.I发现的行认为是这样的:
Range("A25:L25").Select
Range(Selection, Selection.End(xlDown)).Select.)
那么就应该复制的值,并将其粘贴到数据表“PIVOTDATA”上,下面对方。
这是多个工作表,其中数量不同。但工作表的范围是在两张之间:'客户'&'结束'
我试图尽可能具体,希望有人可以帮助!
答
这应该工作
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好东西。享受StackOverFlow –
欢迎#2(SO)。请注意,这不是“为我开发我的代码”网站。而是一个网站,您发布的代码片段不起作用。尝试使用宏录像机记录您需要的代码,然后将其粘贴到您的问题中,然后查看它无法使用的位置。这样你就可以避免在你的问题上使用Downvotes。你所要求的是相当简单和可实现的。 –
你有没有开始尝试你问题中的任何一点?如果不是的话,你可以通过记录你想要在宏中做什么然后从那里开始学习。这里的人很乐意帮忙,但不会为你做这一切!在这一点上,这里是一些开始的地方:如果A25:L25总是表的开始,那么考虑如下:'Dim LRow As Long',然后有'LRow = Sheets(“sheet1”)。Cells(rows.count ,“A”)。End(xlup).Row'。然后你的桌子将在A25:L(LRow)中。这应该有助于你的可变范围问题,尝试将它添加到录制的宏:)祝你好运 – IIJHFII
@ bart1701看到它的第一篇文章,我已经回答了你的问题。让我知道你是否需要 –