以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 代码优化 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=177917) |
-- 作者:wangglby -- 发布时间: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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/6/9 21:24:00 -- 使用vba:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=149103 |
-- 作者:wangglby -- 发布时间: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 代码,我改的以上代码,报错,请问错在哪
|
-- 作者:有点蓝 -- 发布时间:2022/6/10 9:10:00 -- 报什么错? |
-- 作者:wangglby -- 发布时间:2022/6/10 9:24:00 -- 未将对象引用设置到对象的实例 |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2022/6/10 10:03:00 -- 用你的代码测试没问题 ,找到问题了 谢谢
[此贴子已经被作者于2022/6/10 10:07:37编辑过]
|