VBscript读取excel:
Path="C:\temp\sample.xlsx"
Set objexl = Createobject("Excel.application")
objexl.visible = False
set objwkb = objexl.workbooks.open(path)
set objsht = objwkb.sheets(1)
msgbox objsht.usedrange.rows.count
msgbox objsht.usedrange.columns.count
在上面的代码中,我使用usedrange.rows.count
(将显示整个工作表中最后使用的行)和usedrange.columns.count
(将显示整个工作表中最后使用的列)
但需要代码才能找到
特定列的行数。
特定行的列数。
在回答之前,请考虑:
我不需要代码来通过DB连接到Excel来获取计数。
我不需要使用循环来获取计数代码。
我使用外部vbscript所以不需要sheets(1).cells(row,col).end(xlup).row
如果还有其他方法可以找到,请告诉我。
答案 0 :(得分:2)
解决方案:
Const xltoleft = -4159
Const xlup = -4162
Lst_row = Sheets(1).cells(row, col).End(xlup).row
Lst_col = Sheets(1).Cells(row, col).End(xlToLeft).Column
如果您使用外部vbscript,则需要声明xltoleft
,xlup
的常量值。
只需Msgbox xlup
或Msgbox xltoleft
即可在excel vba窗口中找到Const值。
答案 1 :(得分:0)
尽管此查询的回复较晚,但我发现此答案可能有用。
Path="C:\temp\sample.xlsx"
Set objexl = Createobject("Excel.application")
objexl.visible = False
set objwkb = objexl.workbooks.open(path)
set objsht = objwkb.sheets(1)
lngNoOfCols = objsht.Range("XFD4").End(-4159).column
lngNoOfRows = objsht.Range("A65536").End(-4162).Row
不。列(lngNoOfCols)-XFD4(这里4是最大数据的行数)