2

Я хотел бы начать с данных, таких как Таблица A ниже, и создать новую таблицу, такую как Таблица B, ниже, удалив ячейки, содержащие -1 , и свернув каждый столбец, чтобы исключить пустые ячейки.

Я знаю, как сделать это вручную, но мне нужно много раз обновлять таблицу A и каждый раз оценивать таблицу B, поэтому я ищу автоматический процесс. Есть ли комбинация функций, которая позволила бы это?

Я написал следующие макросы. Это должно работать, запустив его один раз. Однако по какой-то причине мне нужно запустить его несколько раз, чтобы в итоге получить результат таблицы B. Что является причиной этого?

Sub Macro1()
Dim i As Integer, j As Integer
For i = 1 To 10
  For j = 1 To 5
     If Cells(i, j).Value = -1 Then
         Cells(i, j).Select
         Selection.Delete Shift:=xlUp
     End If
  Next j
Next i
End Sub

1 ответ1

1

Перемещение по ячейкам вниз и удаление некоторых из них с перемещением других вверх приводит к тому, что макрос не проверяет все ячейки.

Простое решение здесь - двигаться вверх:

For i = 10 To 1 step -1

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