Foxtable(狐表)用户栏目专家坐堂 → 代码优化


  共有5076人关注过本帖树形打印复制链接

主题:代码优化

帅哥哟,离线,有人找我吗?
wangglby
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
代码优化  发帖心情 Post By:2022/6/9 21:15:00 [只看该作者]

  找到excel表格中指定列,第一个等于某字符的 行号,  这段代码有点慢,有更快的替代方案吗            
   
                    DIM AAA AS STRING
                    Dim Book As New XLS.Book(mc1)   
                    Dim Sheet As XLS.Sheet = Book.Sheets(0)
                    Dim m As Integer = 0
                    
                                  
                    For n As Integer = 0 To Sheet.Rows.Count -1    
                        If sheet(n,4).Text = AAA  Then
                            m=n
                            Exit For
                        End If
                    Next

[此贴子已经被作者于2022/6/9 21:18:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/9 21:24:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
wangglby
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2022/6/10 8:52:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("路径1")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("f:f")
Dim RgFound As MSExcel.Range = Rg.Find(dhhz)

Dim Row1 As Integer = RgFound.Cells(1).Row

MessageBox.Show(Row1)
App.Quit



借用 VBA 代码,我改的以上代码,报错,请问错在哪

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/10 9:10:00 [只看该作者]

报什么错?

 回到顶部
帅哥哟,离线,有人找我吗?
wangglby
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2022/6/10 9:24:00 [只看该作者]

未将对象引用设置到对象的实例

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/10 9:49:00 [只看该作者]

调试

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("路径1")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
msgbox(1)
Dim RgFound As MSExcel.Range = Rg.Find(dhhz)
msgbox(RgFound is nothing)
msgbox(RgFound.Address)
msgbox(RgFound.count)
msgbox(RgFound.Rows.count)
Dim Row1 As Integer = RgFound.Cells(1).Row
MessageBox.Show(Row1)
App.Quit

 回到顶部
帅哥哟,离线,有人找我吗?
wangglby
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2022/6/10 10:03:00 [只看该作者]

用你的代码测试没问题  
  ,找到问题了 谢谢
[此贴子已经被作者于2022/6/10 10:07:37编辑过]

 回到顶部