vba удалить столбец, если присутствует только один вид значений - PullRequest
0 голосов
/ 14 мая 2018

Мне нужно написать код, который удалит весь столбец, если все значения в этом столбце одинаковые или пустые.

В приведенном ниже примере мне нужно стереть столбец «Сумма». Каким будет код VBA для этого?

example

1 Ответ

0 голосов
/ 14 мая 2018

Если я правильно вас понимаю, вот один из способов сделать это.

Sub deleteColumn()
  Dim r As Range, c As Range, Col As Collection
  On Error GoTo errTrap
  Set r = ActiveSheet.Range("A2:A15") '<<=== exclude heading, chg to suit
  Set r = r.SpecialCells(xlCellTypeConstants)
  Set Col = New Collection
  For Each c In r
    Col.Add c.Value, CStr(c.Value)
  Next c
  Exit Sub
errTrap:
  Select Case Err
    Case 1004, 457 'all blanks, or duplicate found
      r.EntireColumn.Delete
  End Select
End Sub
...