继续提问,多谢回答
刚次很多高手帮我弄好了如何打开excel的问题
现在如果我不知道数据确切的位置该如何写这段代码呢?
比如我的文件中有
时间 距离
当我输入一个距离A的时候,我同时会得到运动了这么长距离花费的时间。
而且如果距离这列没有A这个数字,那么就自动显示比A小并且和A的差最小的那一行的时间
期待高手给点提示。
问题点数:100、回复次数:21Top
1 楼wangchong(网虫)回复于 2006-03-03 15:50:51 得分 0
教你个方法解决用VB开发OFFICE的问题:
你用录制宏的方法,在office中模拟你要程序所做的事情。office会自动生产代码的!!!
我好多问题都是这么解决的!!Top
2 楼Modest(塞北雪貂)·(偶最欣赏楼主的分)回复于 2006-03-03 15:57:12 得分 0
楼上的是个好办法Top
3 楼caslon01444(学习)回复于 2006-03-03 15:58:35 得分 0
能不能具体的说下?
我过去没有用过这种功能?刚才我用了下那个功能,点了录制之后就不知道接下来要做什么了。。Top
4 楼wangchong(网虫)回复于 2006-03-03 16:05:01 得分 10
点击“录制”,这时你可以在OFFIC中做些操作:比如你在word中插入表格。然后点击
“停止录制”。然后打开“visual basic编辑”就可以看到代码了!!Top
5 楼lv1(CODER不易做)回复于 2006-03-03 16:07:08 得分 0
好办法啊好办法,录制后你放单步运行,会进入到设计界面的,里面的代码都有Top
6 楼Silo(炽天之翼)回复于 2006-03-03 16:08:06 得分 0
进来学习Top
7 楼caslon01444(学习)回复于 2006-03-03 16:19:52 得分 0
但是看看我的要求
首先输入一个距离,然后找出相对应的时间,感觉没有进行什么操作阿?Top
8 楼ZOU_SEAFARER(颓废程序员^_^)回复于 2006-03-03 16:37:48 得分 30
你的问题还是需要查询!
当初告诉你的方法是读取csv文件,没有说要查找数据,
现在你要查找数据要不你就像打开数据库方式一样打开csv文件,要不就循环找距离的那一列,得到和你输入数据相等的直后再取当条数据的时间列数据就是你要的结果!Top
9 楼caslon01444(学习)回复于 2006-03-03 16:46:11 得分 0
。。。。。
那么应该怎么实现呢Top
10 楼wxrwan(无奈小飞不耻上问)回复于 2006-03-04 00:50:33 得分 0
用录制宏的方法来学习太好了Top
11 楼DengXingJie(杰西)回复于 2006-03-04 08:57:20 得分 0
如果需要具體顯示在Excel中哪一行,那需要循環
如果只需知道距離所對應的時間,可以直接用ADO打開Excel,再用SQL語句就可輕松實現Top
12 楼IamDeane(冷冷的风(Deane))回复于 2006-03-04 10:47:36 得分 0
好办法啊,支持下Top
13 楼caslon01444(学习)回复于 2006-03-04 14:07:08 得分 0
我只需要知道所在行的其他数据就可以了,不用具体知道位置
如果用ADO怎么实现?
我如果输入的这个数字在表中没有的话,那么自动选择所有比输入数字小的数据中最大的一个Top
14 楼DengXingJie(杰西)回复于 2006-03-04 15:20:15 得分 60
Dim Cn As New ADODB.Connection
Cn.ConnectionString = "Driver={Microsoft Excel Driver(*.xls)};DriverId=790;Dbq=F:\TEST.xls;DefaultDir=F:\;"
Cn.Open
Dim Rst As New ADODB.Recordset
Dim Sql As String
Sql = "select * from [Sheet1$] where 距離<=A order by 距離 desc"
Rst.CursorLocation = adUseClient
Rst.Open Sql, Cn, adOpenStatic, adLockPessimistic
Rst數據集中第一筆就是你要的記錄
Top
15 楼caslon01444(学习)回复于 2006-03-06 08:43:30 得分 0
感谢杰西的回答!
我还是有几个问题,如果这个距离换成时间的话应该如何处理?
还有就是Dbq=F:\TEST.xls;DefaultDir=F:\这一行的路径可以由我自己设置吧?如果想让这里能够由操作者选择文件路径该怎么做?Top
16 楼DengXingJie(杰西)回复于 2006-03-06 10:28:49 得分 0
1.如果是時間可以換成:Sql = "select * from [Sheet1$] where 時間<=A order by 時間 desc"即可
2.路徑可以更改,如你的xls文件存放在C:\XLS\下,則可改為:Dbq=C:\XLS\TEST.xls;DefaultDir=C:\XLS\即可
有些參數自己可以更改,然後再測試Top
17 楼caslon01444(学习)回复于 2006-03-06 10:32:23 得分 0
而且系统说“用户未定义类”。。Top
18 楼DengXingJie(杰西)回复于 2006-03-06 10:40:34 得分 0
最好是把代碼貼出來並且指出錯誤出現在的位置及提示Top
19 楼caslon01444(学习)回复于 2006-03-06 10:48:05 得分 0
Dim Rst As New ADODB.Recordset
这行
还有您能不能留个联系方式,我们详细说下Top
20 楼DengXingJie(杰西)回复于 2006-03-06 11:03:39 得分 0
好啊
JESSE@VS138.COM
184551473Top
21 楼caslon01444(学习)回复于 2006-03-06 11:17:53 得分 0
上面是MSN,下面是QQ吧?您常用哪个?Top




