到要将数据有选择的复制出来的时候,如果用筛选的方法的话比较麻烦,用vba来操作对有较大数据量的时候特别有用, 首先,设立一个坐标, sheet1的w1,sheet2的l1,坐标选择离数据很远的地方,通过坐标来确定行数与列数,在通过两个for循环,实现数据的自动写入。
Sub Macro2()
Dim hh As Integer ‘Sheet1行数
Dim ll As Integer ‘Sheet1列数
Dim cc As Integer
ff = Sheets(“Sheet2”).Range(“l1”) ‘确定Sheet2有数据的行数为Sheet2表中的L1中的数量
cc = Sheets(“Sheet1”).Range(“w1”)
For hh = 1 To cc
ff = ff + 1
For ll = 1 To 5
If Cells(hh, ll) <> “” Then
Sheets(“Sheet2”).Cells(ff, ll) = Cells(hh, ll)
End If
ff = Sheets(“Sheet2”).Range(“l1”)
Next ll
Next hh
MsgBox “数据已录入Sheet2”
End Sub
实例下载:下载