我正在使用此VBScript删除Excel中的A列:
Set objExcel = CreateObject("Excel.Application")
Set wy = xl.Workbooks.Open("D:\XX\Historical_data_extract.xlsx")
objExcel.Visible = True
objWorkbook.Worksheets("Sheet1").Range("A:A").Delete
objWorkbook.Save
objWorkbook..Close
脚本只是打开文件但没有删除任何内容 为什么会这样?
另外如何删除多列A和J?
答案 0 :(得分:1)
尝试将代码更改为
Set objexcel = CreateObject("Excel.Application")
Set wy = objexcel.Workbooks.Open("D:\XX\Historical_data_extract.xlsx")
objexcel.Visible = True
wy.Worksheets("Sheet1").Range("A:A").EntireColumn.Delete
wy.Save
wy.Close
您的代码试图删除其他工作簿中的范围,而不是您已打开的工作簿。
列E和G可以通过
删除wy.Worksheets("Sheet1").Range("G:G").EntireColumn.Delete
wy.Worksheets("Sheet1").Range("E:E").EntireColumn.Delete
wy.Worksheets("Sheet1").Range("A:A").EntireColumn.Delete
答案 1 :(得分:0)
没有删除任何内容,因为工作簿已打开到变量wy
,但您尝试从变量objWorkbook
中的工作簿中删除该列。你没有初始化。
您可以通过指定其他列而不是A:A
来删除其他列。请注意,删除列会减少已删除列的所有列的索引(B
变为A
,C
变为B
,依此类推),所以我会建议以相反的顺序删除它们。
wy.Worksheets("Sheet1").Range("J:J").Delete
wy.Worksheets("Sheet1").Range("A:A").Delete