使用excel vba 寻找符合条件的行并拷贝到另一sheet?

200行,a~j列中有不确定内容,现在要把所有有内容的行拷贝到另一sheet,用如下方法提示错误,请达人指教。

Dim i As Integer
For i = 1 To 200
If Application.WorksheetFunction.CountBlank(Worksheets("sheet1").Range(Cells(i, 1), Cells(i, 10))) > 1 then
以下没问题,提示if行出错

谢谢,穷人,悬赏微薄。
错误代码1004

第1个回答  2010-11-19
Sub CopyDat()
Dim arrStr() As String '用于存储表一有内容行的数据,一共十列
ReDim arrStr(0 To 9) As String
Dim RowNum As Long '用于记录表二中当前行的行号
RowNum = 1
For i = 1 To 200
If Sheet1.Cells(i, 1) <> “” Then
arrStr(0) = Sheet1.Cells(i, 1)

For k = 1 To 9
arrStr(k) = Sheet1.Cells(i, k + 1) '存储每行的数据到数组
Next k

'开始输出数据到表二
For j = 1 To 10
Sheet2.Cells(RowNum, j) = arrStr(j - 1)
Next j
'当前行号加1
RowNum = RowNum + 1
End If

Next i
End Sub
第2个回答  2010-11-18
把Worksheets("sheet1").去掉即可
如果需要指定sheet,请在range内部指定cells本回答被提问者和网友采纳
第3个回答  2010-11-18
if没问题啊,你的错误提示是啥内容?
第4个回答  2010-11-19
Sub CopyDat()
Dim arrStr() As String '用于存储表一有内容行的数据,一共十列
ReDim arrStr(0 To 9) As String
Dim RowNum As Long '用于记录表二中当前行的行号
RowNum = 1
For i = 1 To 200
If Sheet1.Cells(i, 1) <> “” Then
arrStr(0) = Sheet1.Cells(i, 1)

For k = 1 To 9
arrStr(k) = Sheet1.Cells(i, k + 1) '存储每行的数据到数组
Next k

'开始输出数据到表二
For j = 1 To 10
Sheet2.Cells(RowNum, j) = arrStr(j - 1)
Next j
'当前行号加1
RowNum = RowNum + 1
End If

Next i
End Sub
第5个回答  2010-11-18
把Worksheets("sheet1").去掉即可
如果需要指定sheet,请在range内部指定cells本回答被提问者和网友采纳
第6个回答  2010-11-18
if没问题啊,你的错误提示是啥内容?
相似回答
大家正在搜