在Excel中删除列

我正在使用此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?

尝试改变你的代码

 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 

因为工作簿打开成variableswy ,但是您尝试从variablesobjWorkbook的工作簿中删除列,所以不会删除objWorkbook 。 你没有初始化

通过指定另一列而不是A:A来删除另一列。 请注意,删除列会减less删除列右侧的所有列的索引( B变成AC变成B等等),所以我build议按照相反的顺序删除它们。

 wy.Worksheets("Sheet1").Range("J:J").Delete wy.Worksheets("Sheet1").Range("A:A").Delete