2014-06-06 38 views
-1

行的特定数量的我需要将数据从一个表复制到另一个,以便选择第一行后,将忽略部分5行抓取另一个数据单元中的数据。VB脚本,以选择从后在Excel

我的初始数据看起来像这样:

Row|Col A 
    1|abc 
    2|def 
    3|ghi 
    4|jkl 
    5|mnp 
    6|oqr 
    7|stu 
    ... 

代码应导致输出:

Row|Col A 
    1|abc 
    2|oqr 
    ... 
+0

欢迎来到S.O.!你的数据是否存在于Excel文件中(这意味着你想使用VBA而不是VB.net)? –

回答

0

这将第一单元从工作表Sheet复制到片材2,和在此之后每5一个那。例如1,6,11,16从工作表Sheet1到1,2,3,4 Sheet2中

改变它说7行只是改变我乘到该值。

Cells(1 + i * 5, 1). 

改变它拷贝多少行更改以下行

For i = 0 to 2 

代码:

Sub copyData() 

For i = 0 To 2 
    Sheets("Sheet2").Cells(1 + i, 1).Value = Sheets("Sheet1").Cells(1 + i * 5, 1).Value 
Next i 

End Sub 

,如果你希望它在当前选定单元格开始使用以下版本:

Sub copyData() 

For i = 0 To 2 
    Sheets("Sheet2").Cells(1 + i, 1).Value = Sheets("Sheet1").Cells(ActiveCell.row + i * 5, ActiveCell.Column).Value 
Next i 

End Sub 
+0

非常感谢好友。你解决了我的问题。我能够在几分钟内完成我的工作。请指导我一些教程,以备将来需要使用excel。 –

+0

是什么样的,你会更详细@Apoorv Rastogi喜欢解释的代码? –

+0

像初学者一样。我是这部分的新手。但我喜欢编码。这就是为什么,我要求一些电子书或网站,我可以学习这些东西。 –

0

如何:

Sub dural() 
    Dim s1 As Worksheet, s2 As Worksheet 
    Dim N As Long 
    Set s1 = Sheets("Sheet1") 
    Set s2 = Sheets("Sheet2") 
    N = s1.Cells(Rows.Count, "A").End(xlUp).Row 
    s1.Range("A1").Copy s2.Range("A1") 
    s1.Range("A6:A" & N).Copy s2.Range("A2") 
End Sub