我正在尝试打开一个Excel文档,选择一整列值直到找到最后一个值,然后用一些值替换它们。使用以下代码,我可以选择整个列并将值替换为正确,但没有行限制。
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\test.xlsx")
Set objWorksheet = objWorkbook.Worksheets(1)
objExcel.Application.Visible = True
For Each c in objWorksheet.Range("b1", objWorksheet.Range("b65536"))
c.Value = "4"
Next
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
虽然这是一个很好的第一步,但我需要结束替换该列中最后找到的单元格的值。按照此在线资源中的示例,我使用.End
属性xlUp
。 https://support.microsoft.com/en-us/help/291308/how-to-select-cells-ranges-by-using-visual-basic-procedures-in-excel
我想出了这段代码,它在For
行上产生了未知的运行时错误。
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("C:\test.xlsx")
Set objWorksheet = objWorkbook.Worksheets(1)
objExcel.Application.Visible = True
For Each c in objWorksheet.Range("b1", objWorksheet.Range("b65536").End(xlUp))
c.Value = "4"
Next
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
我做错了什么,或者有更好的方法来达到更好的相同结果?