Sub shaixuan()
Dim arr, brr()
Range("F1") = "Name"
Range("G1") = "Price"
arr = Range("A2:B6")
ReDim brr(1 To UBound(arr), 1 To 2)
For i = 1 To UBound(arr)
If arr(i, 2) > 400000 Then
brr(i, 1) = arr(i, 1)
brr(i, 2) = arr(i, 2)
End If
Next i
MsgBox UBound(brr)
Range("F2").Resize(UBound(brr), 2) = brr
End Sub
代码如上,brr数组的结果中有空格,在写入F2的时候不满足大于400000条件的会是空值,
如何能够使F2下面连续写入不为空的数据?
感谢大神帮忙。
将你的代码修改为以下,利用变量j表示要写入brr的行数:
Sub shaixuan()Dim arr, brr()
Range("F1") = "Name"
Range("G1") = "Price"
arr = Range("A2:B6")
ReDim brr(1 To UBound(arr), 1 To 2)
j = 1
For i = 1 To UBound(arr)
If arr(i, 2) > 400000 Then
brr(j, 1) = arr(i, 1)
brr(j, 2) = arr(i, 2)
j = j + 1
End If
Next i
MsgBox UBound(brr)
Range("F2").Resize(UBound(brr), 2) = brr
End Sub
其实你这个不用数组也能实现你要的目的,如下:
Sub shaixuan1()Range("F1") = "Name"
Range("G1") = "Price"
For i = 2 To [b65536].End(3).Row
If Cells(i, 2) > 400000 Then
Range(Cells(i, 1), Cells(i, 2)).Copy Range("f" & [f65536].End(3).Row + 1)
End If
Next
End Sub
温馨提示:答案为网友推荐,仅供参考