如何删除某些工作表中的列和其他工作表中的其他列? Vba Excel

时间:2018-08-03 17:29:18

标签: excel vba excel-vba

我想转到某些工作表并删除相同的列。但是我还有另一组工作表,我想在其中删除其他列。这是我到目前为止的代码。它不起作用!

Application.ScreenUpdating = False
Dim i As Long

  For i = 1 To Sheets.Count
  Select Case wks.Name
  Case "AT", "RA", "AO", "FO SG 380 PLT_CMA", "8K", "C3 CONW INW OPIS_CMA", "A5", "DIESEL OHR EIA_CMA", "BO", "DIESEL OHR EIA_CWA", "C3 MBEL TET OPIS_CMA", "GO ICE_CMA", "ULA2"
      Sheets(i).Range("S:AE").ClearContents
      Sheets(i).Range("O:O").ClearContents
      Sheets(i).Range("M:M").Clear Contents
      Sheets(i).Range("L:L").ClearContents
      Sheets(i).Range("G:H").ClearContents
  Case Else
      Sheets(i).Columns("S:AE").Delete
      Sheets(i).Columns("O:O").Delete
      Sheets(i).Columns("K:K").Delete
      Sheets(i).Columns("G:H").Delete
  End Select

Next i
Application.ScreenUpdating = True

1 个答案:

答案 0 :(得分:2)

我认为你想要

Select Case Worksheets(i).Name

以确保测试实际的工作表名称循环。

我还将遍历工作表集合以避免处理图表表(因此我在上面使用了工作表)

因此循环将转到Worksheets.Count

一个ClearContents有一个错字,并决定是删除还是清除。