Удалить указанный столбец VBA - PullRequest
0 голосов
/ 15 января 2020

Привет, просто пытаюсь запустить код на каждом листе рабочей книги. По какой-то причине он не удалит столбец, как указано. Я также попытался использовать Columns(“A”).Delete, и это тоже не сработало

Sub Format()

'Firstly convert all text cells into number cells for every sheet in workbook

For Each WS In Sheets
    On Error Resume Next
    For Each r In WS.UsedRange.SpecialCells(xlCellTypeConstants)
        If IsNumeric(r) Then r.Value = (r.Value) * 1
        ''Or test the values in the next column on the right
        'If IsNumeric(r) Then r.Offset(0,1).Value = (r.Value)*1
    Next r

    Rows("1:15").Delete
    Columns(“1”).Delete


Next WS

End Sub

1 Ответ

2 голосов
/ 15 января 2020

Вы не квалифицируете эти ссылки с помощью листа ... он должен выглядеть следующим образом:

WS.Rows("1:15").Delete
WS.Columns(1).Delete

Если вы этого не сделаете, то он просто принимает ActiveSheet каждый раз, когда повторяется .

Обратите внимание, что вы не ставите 1 для столбцов в кавычках. 1 - это значение индекса, а не строковое значение.

Кроме того, тип используемых вами кавычек неправильный. Посмотрите внимательно:

WS.Columns(“A”).Delete  ' <--- these curly quotes will not work (they are not the same thing)

WS.Columns("A").Delete  ' <--- these straight quotes work

прямые и фигурные кавычки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...