| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6100 人关注过本帖
标题:vb中如何给MSFlexGrid控件指定的单元格区域赋值:
只看楼主 加入收藏
vbcaonia
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-5-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
vb中如何给MSFlexGrid控件指定的单元格区域赋值:


请问MSFlexGrid控件哪个属性可以将指定的单元格区域赋值给数组:

例如:定义数组:arr 后怎样将第二列的第5行到第二列的第5000行这个区间的单元格的数据赋值给数组arr,然后可执行这个数组的上下限,就像excel一样:arr= Range("b5:b5000") ,然后可以使用 For j = 1 To UBound(arr)


谢谢!
搜索更多相关主题的帖子: excel 如何 
2016-05-22 14:13
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
程序代码:
Dim arr() As String
Private Sub Command1_Click()
ReDim arr(5 To 5000)   '定义数组的上标与下标
For I = 5 To 5000
arr(I) = MSFlexGrid1(I, 1)    '第二列的第5行到第5000行赋值到数组arr中,前提是 MSFlexGrid1 控件中必须有值
Next I
'
ReDim arr(1 To 4996)   '定义数组的上标与下标
For I = 1 To 4996
arr(I) = MSFlexGrid1(I + 4, 1)  '第二列的第5行到第5000行赋值到数组arr中,前提是 MSFlexGrid1 控件中必须有值
Next I
End Sub

MSFlexGrid1(行标识, 列标识),行标识是从0开始,列标识也是从0开始,我理解你的第五行是不计标题行,从有数据开始计算的。
如果计标题,那么(I, 1)应该是(I - 1, 1).
如果要得到MSFlexGrid1的总行数,可以 AA = MSFlexGrid1.Rows,就是总行数,但不包括标题行。

[此贴子已经被作者于2016-5-22 15:09编辑过]


请不要选我!!!
2016-05-22 14:46
vbcaonia
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-5-4
收藏
得分:0 
回复 2楼 ZHRXJR
谢谢老师,我试试看!
2016-05-22 20:35
vbcaonia
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-5-4
收藏
得分:0 
回复 2楼 ZHRXJR
试了试,看来这个控件不支持自定义函数不知对否?
2016-05-23 23:48
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:20 

呵呵,那天少了一个属性:MSFlexGrid1.TextMatrix(I, 1)
程序代码:
Private Sub Command1_Click()
ReDim arr(5 To 5000)   '定义数组的上标与下标
For I = 5 To 5000
arr(I) = MSFlexGrid1.TextMatrix(I, 1)    '第二列的第5行到第5000行赋值到数组arr中,前提是 MSFlexGrid1 控件中必须有值
Next I
'
ReDim arr(1 To 4996)   '定义数组的上标与下标
For I = 1 To 4996
arr(I) = MSFlexGrid1.TextMatrix(I + 4, 1)  '第二列的第5行到第5000行赋值到数组arr中,前提是 MSFlexGrid1 控件中必须有值
Next I
End Sub

请不要选我!!!
2016-05-24 23:46
vbcaonia
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-5-4
收藏
得分:0 
回复 5楼 ZHRXJR
老师你好,现在用Msflexgrid控件做一表格,共有列:A、B、C、D、E,在b5开始的b列中放置数据源,在c5开始的c列中放置条件源,e5开始的e列中放置结果,见excel附件:


1、b3开始的b列各单元格分别填有不同的数据且每2个数字间空1格。



[此贴子已经被作者于2016-6-1 23:27编辑过]

2016-05-27 10:19
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:0 
1-2=3 8 15 21 23  :提取 3 8 15 21 23,   0-3=4 12 15 20 33 35 36   :提取 4 12 15 20 33 35 36,    提取 = 号以后的数据没有问题。
3、c3开始的c列,每行为一个条件每21行为1组,即c3:c23为第1组,c24:c44为第2组,c45:c65为第3组.....,这个分组也没有问题。看看你的记录:210-3=207,207/21=9.85....,不是整数呀,怎么分组?
4、点击按钮后c3开始的c列各大组(21行)中,首先一次求出同时满足c列前12条的b列数据放在某数组arr中,从第13条开始对同时满足c列前12条的b列数据arr过滤并提取符合条件的数据,第14条开始对同时满足c13的b列数据过滤提取符合条件的数据,依次...当b列符合条件的组数为1组时停止查找并将b列这1组数据依次提取并填写在e3开始的e列各单元格,,这个不太清楚是什么意思。
你写一个Word文件,就你的要求尽量写清楚,发给我,可以帮你做。

请不要选我!!!
2016-05-27 15:54
vbcaonia
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2016-5-4
收藏
得分:0 
回复 7楼 ZHRXJR
老师你好,重新写了一下说明,麻烦你有时间看看,谢谢!

数据查找说明(修).rar (2.83 KB)




[此贴子已经被作者于2016-5-29 11:21编辑过]

2016-05-27 22:49
快速回复:vb中如何给MSFlexGrid控件指定的单元格区域赋值:
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017039 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved