注册 登录
编程论坛 VB6论坛

对象变量或With块变量未设置

liujoey 发布于 2012-10-04 17:01, 616 次点击
Private Sub Grid1_DblClick()
Dim i As Long
With Grid1
Form2.Grid1.Rows = Form2.Grid1.Rows + 1
For i = 1 To Grid1.Rows - 1
Form2.Grid1.Cell(i, 1).Text = .Cell(i, 1).Text
Form2.Grid1.Cell(i, 2).Text = .Cell(i, 2).Text
Form2.Grid1.Cell(i, 3).Text = .Cell(i, 3).Text
Form2.Grid1.Cell(i, 4).Text = .Cell(i, 4).Text
Form2.Grid1.Cell(i, 5).Text = .Cell(i, 5).Text
Form2.Grid1.Cell(i, 6).Text = .Cell(i, 6).Text
Form2.Grid1.Cell(i, 7).Text = .Cell(i, 7).Text
Form2.Show
Next i
End With
End Sub
这里提示“对象变量或With块变量未设置”
求解!
6 回复
#2
Artless2012-10-04 19:34
Grid1是什么?
#3
wube2012-10-04 20:19
Private Sub Grid1_DblClick()
Dim i As Long,j As Long
For i = 1 To Grid1.Rows - 1
For j = 1 To Grid1.Cols - 1
Form2.Grid1.Cell(i, j).Text = Grid1.Cell(i, j).Text
Next j
Next i
Form2.Show
End Sub
#4
liujoey2012-10-04 22:35
非常感谢你,我觉得不能用循环,grid1表格里有N条数据,我只想把鼠标双击点中的一条加载到form2窗体中,如果用循环的话就把全部都加载过去了。
只有本站会员才能查看附件,请 登录
#5
liujoey2012-10-04 22:37
回复 2楼 Artless
Grid1是FlexCell表格
#6
wube2012-10-05 00:09
MSFlexGrid和FlexCell用法差不多
只是FlexCell更简单而已

但是FlexCell还要另外安装
换了电脑还能不能运行就不一定了
做软件封装时就要特别留意这点

所以为了省麻烦都尽量用基本控件
再去组合出需要用到的功能
运用的弹性也更大

[ 本帖最后由 wube 于 2012-10-5 00:10 编辑 ]
#7
liujoey2012-10-05 08:52
封装后FlexCell在别的电脑上是可以使用的,我用的是正版控件,MSFlexGrid也可以起到同样的效果,但用起来很麻烦,
还望 WUBE 请多赐教,谢谢!
1