我需要将数据从一个工作表复制到另一个工作表,这样在选择第一行后,它将跳过大约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
...
答案 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