2015-07-21 185 views
-1

我在论坛上发现了一些信息,但我一直无法理解它。我需要从一张Excel表单复制特定的行(范围)到一张新的表单进行数据绘图。有人可以帮助我这个视觉基本代码?VBA复制Excel序列中的多行并粘贴到不同的Excel表格

我的数据是这样的:http://imgur.com/1vM12xD

我需要做的,就是靠,结合A1-1:E1-1A1-2:E1-2数据侧为我想D5:D9并肩D19:D23。同样,E5:E9E19:E23并排。这些组合可以通过创建一个我希望的新表完成。

然后我想我需要运行一个循环来合并A2-1A2-2数据。 A2数据从第32行开始。此间距在整个电子表格中保持不变。所以我认为应该能够循环遍历整个表格。数据(行)之间有空格,所以我不确定如何告诉程序遍历整个表格。

sub copydata() 

LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).row 

For i = 8 To LastRow 

Range(Cells(i, 1), Cells(i, 4)).Select 
Selection.Copy 

erow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).row 

ActiveSheet.Cells(erow, 1).Select 
ActiveSheet.Paste 
ActiveWorkbook.Save 
ActiveWorkbook.Close 
Application.CutCopyMode = False 
End If 

Next i 

End Sub 
+1

你有没有尝试过吗?在论坛上发布你已经看过的链接,并说明你感到困惑的地方。 –

+0

https://stackoverflow.com/questions/9929366/copy-and-paste-the-data-one-excel-to-another-excel-based-on-column-name-include。这是另一个链接:https://stackoverflow.com/questions/23740364/excel-vba-copying-cell-contents。我无法弄清楚如何遍历整个工作表并将数据并排放置。 – Anjil

+0

该问题有多个答案。你不了解哪些部分?你有没有试图自己解决这个问题?向我们展示您的代码,并告诉我们错误/给出您不期待的值。 –

回答

1

您也许可以在没有宏的情况下执行此操作。所以,如果你拿出你展示的样本表的结构,我会创建新的表格并使用索引公式来提供你需要的值和你想要的顺序。所以对于D列,我会有一个正确命名的新工作表。对于列A,我会列出部分样本名称(A1-,B1-等)。对于第一排,我会休息(1-5)。然后在B2单元格,输入公式

=INDEX('Sheet1'!$D:$D,MATCH($A2 & B$1,'Sheet1'!$B:$B,0)) 

填写向下和向右。应该得到你想要的。在其他工作表上,只需将INDEX公式的初始范围更改为相应的列。

我希望这会有所帮助。