不止一次运行编码会删除相关数据

时间:2016-06-04 07:02:49

标签: excel-vba vba excel

我的代码有一个很大的弱点。如果我多次运行它会删除所需的数据,因为它会根据需要删除列。第一次执行格式化一个完美运行的SAP报告。如果再次运行,我不知道如何停止删除列。请有人看一看并提出建议吗?感谢

resume()

1 个答案:

答案 0 :(得分:1)

如果您不想删除列,则需要添加if语句以检查是否确实需要删除列。 您可以通过从代码中更改此内容来执行此操作:

'Delete columns on tab format cases
ws1.Columns("A:B").EntireColumn.Delete
ws1.Columns("B:D").EntireColumn.Delete
ws1.Columns("C:M").EntireColumn.Delete
ws1.Columns("N").EntireColumn.Delete
ws1.Columns("C").EntireColumn.Delete

将其替换为下面的块:

'Delete columns if the column header for column "N" is not "category". 
If ws1.Cells(1, "N").Value <> "Category" then 
    ws1.Columns("A:B").EntireColumn.Delete
    ws1.Columns("B:D").EntireColumn.Delete
    ws1.Columns("C:M").EntireColumn.Delete
    ws1.Columns("N").EntireColumn.Delete
    ws1.Columns("C").EntireColumn.Delete
end if