VBscript to read excel - 1.如何获取特定列的行数,2 - 获取特定行的列数
VBscript to read excel - 1. How to get the row count of specific column ,2 - to get the column count of specific row
要读取的 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
(将显示整个 sheet 中最后使用的行)和 usedrange.columns.count
(将显示最后使用的列整个sheet).
但需要代码才能找到
特定列的行数。
特定行的列数。
回答前请考虑:
我不需要通过数据库连接到 excel 来获取计数的代码。
我不需要使用循环获取计数的代码。
我正在使用外部 vbscript,所以不需要 sheets(1).cells(row,col).end(xlup).row
如果有任何其他方法可以找到它,请告诉我。
解决方案:
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
的常量值。
常量值可以在 excel vba window 中通过简单地 Msgbox xlup
或 Msgbox xltoleft
.
找到
尽管此查询的回复较晚,但我发现此答案可能有用。
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
没有。 Of columns(lngNoOfCols)-XFD4(这里4是你最大数据的行数)
因为我对第一个提案有一些问题,所以我把我使用的代码放上去了。
非常相似,但使用的是上下左右而不是上下左右。
row = 1
col = 1
Const xlDown = -4121
Const xlToRight = -4161
Lst_row = Sheets(1).cells(row, col).End(xlDown).row
Lst_col = Sheets(1).Cells(row, col).End(xlToRight).Column
要读取的 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
(将显示整个 sheet 中最后使用的行)和 usedrange.columns.count
(将显示最后使用的列整个sheet).
但需要代码才能找到
特定列的行数。
特定行的列数。
回答前请考虑:
我不需要通过数据库连接到 excel 来获取计数的代码。
我不需要使用循环获取计数的代码。
我正在使用外部 vbscript,所以不需要
sheets(1).cells(row,col).end(xlup).row
如果有任何其他方法可以找到它,请告诉我。
解决方案:
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
的常量值。
常量值可以在 excel vba window 中通过简单地 Msgbox xlup
或 Msgbox xltoleft
.
尽管此查询的回复较晚,但我发现此答案可能有用。
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
没有。 Of columns(lngNoOfCols)-XFD4(这里4是你最大数据的行数)
因为我对第一个提案有一些问题,所以我把我使用的代码放上去了。 非常相似,但使用的是上下左右而不是上下左右。
row = 1
col = 1
Const xlDown = -4121
Const xlToRight = -4161
Lst_row = Sheets(1).cells(row, col).End(xlDown).row
Lst_col = Sheets(1).Cells(row, col).End(xlToRight).Column