У меня есть код VBA, который удаляет пустые ячейки, позволяя данным далее в столбце перемещаться вверх. Есть две вещи, которые я хочу исправить. Во-первых, я не хочу выходить из подпрограммы, я хочу выйти из оператора if. Я читал, что вы можете выйти из циклов, whiles, fors и т. Д. Но не ifs. Я не хочу выходить из подпрограммы, потому что в моей подпрограмме больше кода. Есть предложения?
У меня также возникают проблемы с добавлением еще одной строки в коде для запуска, если в верхней части столбца уже есть данные.
Sub Remove_Empties ()
Dim Last as Long
Dim Mcol as Range
Last = Cells(Rows.Count, "AD").End(xlUp).Row
If Last = 1 Then Exit Sub 'no value only header in row 1
'otherwise
Set Mcol = Range("AD2:AD" & Last) 'contains any value
Application.ScreenUpdating = True
Mcol.SpecialCells(xlCellTypeBlanks).Delete xlUp
Application.ScreenUpdating = True
End Sub
Я хочу, чтобы он мог запускать следующие три сценария. Первый содержит данные в строке под заголовком. Второй имеет пару пустых ячеек. Третий имеет все пустые клетки. 1 не должен меняться, 2 должен меняться в соответствии с форматом 1, а 3 не должен делать ничего. 2 и 3 можно сделать с кодом выше, но не 1.
1 2 3
A
B
C A
D B
C
D