使用VBScript在Excel中查找列的底部
我正在编写一个脚本,它将在Excel电子表格中提取列的内容。因为我不知道有多少行将有数据,所以我需要能够在脚本过程中找到列的结尾 在VBA中,我将使用以下内容使用VBScript在Excel中查找列的底部,vbscript,Vbscript,我正在编写一个脚本,它将在Excel电子表格中提取列的内容。因为我不知道有多少行将有数据,所以我需要能够在脚本过程中找到列的结尾 在VBA中,我将使用以下内容 sht.Range(sht.Cells(row, col), sht.Cells(row, col)).End(xlDown).row 当我尝试在VBScript文件中使用该行时(我知道它可能不起作用,但我希望有好运),返回一条消息说“xlDown”未定义。我可以很容易地创建一个Excel宏来实现这一点,但我希望程序运行时不必更改原始的
sht.Range(sht.Cells(row, col), sht.Cells(row, col)).End(xlDown).row
当我尝试在VBScript文件中使用该行时(我知道它可能不起作用,但我希望有好运),返回一条消息说“xlDown”未定义。我可以很容易地创建一个Excel宏来实现这一点,但我希望程序运行时不必更改原始的电子表格
这是我当前脚本中定义Excel对象的部分
Set fso = CreateObject("Scripting.FileSystemObject")
set xlapp = CreateObject("Excel.Application")
Set wkbk = xlapp.Workbooks.Open(path)
'xlapp.Visible = False
Set sht = wkbk.Sheets(sheetname)
Set myfile = fso.OpenTextFile(txtfile, 2, True)
lrow = sht.Range(sht.Cells(row, col), sht.Cells(row, col)).End(xlDown).row
path、sheetname和txtfile是以前定义的字符串,row和col是以前定义的整数。
xlDown
实际上是一个常量。如前所述,它的值是-4121。
所以试着做些类似的事情
const xlDown = -4121
lrow = sht.Range(sht.Cells(row, col), sht.Cells(row, col)).End(xlDown).row
或者您也可以在以下代码中使用xlUp
来获取列的行数,例如列a:
const xlUp = -4162
lrow = sht.Range("A" & sht.Rows.Count).End(xlUp).Row
很高兴它成功了。下面是一个简单的示例,它将为您提供图纸sht使用范围内的行数
美丽的。非常感谢你。
lrow = sht.UsedRange.Rows.Count