1

Мне нужно взять данные о рейсе TSPI и вырезать примерно 30-40 столбцов, каждый журнал содержит примерно 3600 строк в час. Как только он будет удален, мне нужно реорганизовать оставшиеся столбцы. Я хотел бы сделать это самым простым и быстрым способом, если он есть. Я не уверен, как разместить пример данных Excel на этих форумах.

Я пробовал этот код, но я получаю ошибку во время выполнения 9

Sub sbVBS_To_Delete_Specific_Multiple_Columns() Sheets("Sheet1").Диапазон ("А: В, Н: L, P: Q, S: BJ").EntireColumn.Удалить End Sub

Я понял, что лист был назван 12-20-2016, поэтому пришлось изменить лист1 на 12-20-2016.

1 ответ1

2

Сортировать

Можно сортировать столбцы, а не только строки данных. Предполагая, что у вас есть какой-то заголовок в строке 1, который можно использовать в качестве ключа сортировки, вы можете сделать следующее:

1 Нажмите Ctrl+End, чтобы перейти к последней использованной строке и столбцу.

2 Нажмите Shift+Ctrl+Home, чтобы выбрать все, что находится между первой и последней использованной ячейкой.

3 Перейти к данным | Сортировка, чтобы открыть интерфейс сортировки

4 Нажмите Параметры в верхней части интерфейса сортировки.

5 В разделе «Ориентация» выберите «Сортировать слева направо» и нажмите «ОК».

Теперь у вас будет возможность выбрать строку для сортировки. Выберите строку, содержащую какое-то значение, по которому вы хотите отсортировать, затем нажмите OK. Пустые столбцы будут отсортированы до конца и затем могут быть проигнорированы.

Удалить, как вы идете

Это больше для будущего использования, но может быть лучше выбрать целые столбцы и удалить их, а не удалять только их содержимое. Сделать это:

1 Нажмите на букву заголовка столбца в самом верху, чтобы выбрать весь столбец

2 Либо щелкните правой кнопкой мыши букву заголовка столбца и выберите «Удалить», либо перейдите на вкладку «Главная» | Клетки группы | Удалить | Удалить столбцы листа

Отредактировано для добавления:

Макрос это

Как было указано, вы запросили макрос в заголовке вопроса. Хотя методы, которые я описал, могут быть автоматизированы с помощью записанного макроса, ниже приведен быстрый, который удалит любой полностью пустой столбец из используемого диапазона.

Sub ClearEmpties()
    'Delete any entirely empty column in the workshee's used range

    Dim l As Long

    For l = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
        If WorksheetFunction.CountA(Columns(l)) = 0 Then
            ActiveSheet.Columns(l).EntireColumn.Delete
        End If
    Next l

End Sub

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .