2014-06-06 82 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