VB脚本在excel中的特定行数之后从单元格中选择数据

时间:2014-06-06 10:41:52

标签: excel vba excel-vba

我需要将数据从一个工作表复制到另一个工作表,这样在选择第一行后,它将跳过大约5行来获取另一个数据。

我的初始数据如下:

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

代码应该导致输出:

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

2 个答案:

答案 0 :(得分:0)

这会将第一个单元格从sheet1复制到第2页,然后每隔5个单元格复制一次。例如1,61,16,16从sheet1到1,2,3,4 in sheet2

将其更改为7行,只需将i上的乘数更改为该值。

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

答案 1 :(得分: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