| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2388 人关注过本帖
标题:如何将MSFlexgrid中的数据导入Excel
只看楼主 加入收藏
我爱问
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2016-5-4
结帖率:100%
收藏
已结贴  问题点数:16 回复次数:5 
如何将MSFlexgrid中的数据导入Excel
Public Sub OutDataToExcel(Flex As MSFlexGrid)
Dim s As String
Dim i As Integer
Dim j As Integer
Dim k As Integer
OnError
GoTo Ert
Me.MousePointer = 11
Dim Excelapp As Excel.Application
Set Excelapp = New Excel.Application
OnError
Resume NextDoEvents
Excelapp.SheetsInNewWorkbook = 1
Excelapp.Workbooks.Add
Excelapp.ActiveSheet.Cells(1, 3) = s
Excelapp.Range(C1).Select
Excelapp.Selection.Font.FontStyle = Bold
Excelapp.Selection.Font.Size = 16
With Flexk = .Rows
For i = 0 To k - 1
For j = 0 To .Cols - 1
DoEvents
Excelapp.ActiveSheet.Cells(3 + i, j + 1) = TextMatrix(i, j)
Next j
Next i
End With
Me.MousePointer = 0
Excelapp.Visible = True
'Excelapp.Sheets.PrintPreviewErt:
'If Not (Excelapp Is Nothing) Then
'Excelapp.Quit
'End If
End Sub
想问一下各位大神这个程序为什么在执行的时候会出现子程序或函数未定义?
搜索更多相关主题的帖子: Excel 如何 
2016-05-12 10:23
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:5 
子程序或函数未定义就是这个意思。有一个语句认为你调用了一个sub或者Function。
1.你并未定义这个sub或者Function
2.别的模块中有,但是不是公用的
3.有变量或者数组没定义,当成函数了
我初步看了一下,好像是 TextMatrix(i, j),如果是数组没有被定义, 如果是MSFlexGrid(太久了没用过了)的子对象/属性,前面少了一个“.”
2016-05-12 11:15
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:5 
你这句
Excelapp.ActiveSheet.Cells(3 + i, j + 1) = TextMatrix(i, j)

少了个点啊,小妹妹。应该那样
Excelapp.ActiveSheet.Cells(3 + i, j + 1) = .TextMatrix(i, j)

看到没有,后面的不是TextMatrix(i, j),而是.TextMatrix(i, j)。编程一定要胆大心细,否则稍有差错就无法通过。另外仔细看了一下你的代码,确实还存在其它语法错误。

[此贴子已经被作者于2016-5-12 23:53编辑过]


本人QQ:775420425
2016-05-12 13:39
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:6 
可能是下面语句的问题吧
OnError
GoTo Ert
1、将OnError认为是函数了吧,应该是   On Error GoTo Ert
OnError
Resume NextDoEvents
2、同样的问题,应该是  On Error Resume Next
With Flexk = .Rows
3、With后面不对吧,应该是 MSFlexgrid1 吧,应该是  With MSFlexgrid1
For i = 0 To k - 1
4、上面没有k的值,这里k=0,那么这个循环还能工作吗,应该是 For i = 0 To .Cols - 1
For j = 0 To .Cols - 1
5、行循环不应该是列的值吧 ,应该是 For j = 0 To .Rows - 1
不知对不对,探讨而已。

请不要选我!!!
2016-05-12 21:32
我爱问
Rank: 2
等 级:论坛游民
帖 子:9
专家分:10
注 册:2016-5-4
收藏
得分:0 
谢谢各位大神点拨
2016-05-13 10:00
hjxlj
Rank: 10Rank: 10Rank: 10
来 自:江西
等 级:贵宾
威 望:14
帖 子:292
专家分:1519
注 册:2013-6-25
收藏
得分:0 
回复 5楼 我爱问
问题解决了就请结帖

本人QQ:775420425
2016-05-13 10:18
快速回复:如何将MSFlexgrid中的数据导入Excel
数据加载中...
 
   



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

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