以下是引用newsoftware在2017-7-26 23:54:02的发言:
感谢版主回复!版主讲得太对了,很多东西都还给老师了,知识真的是用时方恨少呀!
但还要以下的第2个条件:“编号列为升序排序”时再导入,现导入的顺序与我想要的不一样,还请版主再指教? 感谢了。
条件如下(VB操作):
1、GP9列筛选非空项
2、筛选后编号列为升序排序
3、提取Orders列的后3位数导入到VB的listbox
现导入的顺序与我想要的不一样,如下图:
PS:
if Xlssheet.Cells(i, 7)<>"" then List1.AddItem right(Xlssheet.Cells(i, 2) ,3)
感谢版主回复!版主讲得太对了,很多东西都还给老师了,知识真的是用时方恨少呀!
但还要以下的第2个条件:“编号列为升序排序”时再导入,现导入的顺序与我想要的不一样,还请版主再指教? 感谢了。
条件如下(VB操作):
1、GP9列筛选非空项
2、筛选后编号列为升序排序
3、提取Orders列的后3位数导入到VB的listbox
现导入的顺序与我想要的不一样,如下图:
PS:
if Xlssheet.Cells(i, 7)<>"" then List1.AddItem right(Xlssheet.Cells(i, 2) ,3)
还的够干净的,感觉你是一点不留
需要排序的话先把这些编号放在一个动态数组中,然后排序,最后放进list中
动态数组这个给你一段代码,排序这个自己研究一下。
dim nums()
dim k as integer
for i = N1 to N2
if Xlssheet.Cells(4, 7)<>"" then
'List1.AddItem right(Xlssheet.Cells(4, 2) ,3)
redim preserve nums(k) 'preserve 很重要,在改变数组上限的时候不清空原来的数据,要不就相当于重新定义一个数组,都是空的
nums(k)=right(Xlssheet.Cells(4, 2) ,3)
k=k+1
end if
next i
next