VB提取数组元素组成新数组

s=Array(1,2,3,4,5,6,7,8,9)Fori=0ToUBound(s)Ifs(i)>2Ands(i)<6ThenMsgBoxs(i)EndIfNext34... s = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
For i = 0 To UBound(s)
If s(i) > 2 And s(i) < 6 Then
MsgBox s(i)
End If
Next
3 4 5这三个数满足条件,如何将满足条件的三个数存到一个新数组中,数组这块感觉很迷茫!!!如果不确定新数组元素个数时该作如何考虑??
展开
 我来答
jingyu9575
2012-04-17 · TA获得超过437个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:223万
展开全部
那就运行时重新定义A的下标范围,不过数据多了可能会影响效率

Dim A() As Integer '先定义一个空数组
s = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
j = 1
For i = 0 To UBound(s)
If s(i) > 2 And s(i) < 6 Then
ReDim Preserve A(1 To j) '更新A的下标范围
A(j) = s(i) '将满足条件的元素存到新数组元素,注意只能一个一个元素赋值
j = j + 1 '修改数组下标,以便存入下一个元素
MsgBox s(i)
End If
Next i

'最后 A(1)=3 A(2)=4 A(3)=5 后面没了
just1207
2012-04-15 · TA获得超过184个赞
知道小有建树答主
回答量:192
采纳率:100%
帮助的人:64.7万
展开全部
dim A () as integer ’先定义一个空数组
s = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
j = 1 ‘j是数组下标,数组元素是通过下标来识别的
For i = 0 To UBound(s)
If s(i) > 2 And s(i) < 6 Then
A(j) = s(i) '将满足条件的元素存到新数组元素,注意只能一个一个元素赋值
j = j+1 '修改数组下标,以便存入下一个元素
MsgBox s(i)
End If
Next i
更多追问追答
追问
我试了一下,这段代码要报错:下标越界
追答
把第一行改成dim A (1 to 6)  as integer
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式