Я с трудом понимаю, почему уже лет 20 спустя появления похожих на современные табличных процессоров (текстовых, и вообще ПО) до сих пор приходится так мучаться!
Каждая вторая вещь в Excel глючит. И вот я уже всё сделал в файле, осталось простая вещь — поправить защиту, чтобы пользователи могли удалять строки. Отлично:
sh.Protect Password:=myPassword, _
UserInterfaceOnly:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowFormattingRows:=True, _
AllowFormattingColumns:=True, _
AllowDeletingRows:=True
Сохраняем, удаляем строку. А нет: невозможно удалить строку с защищенными ячейками. Логично? Конечно.
Range(Cells(sumst, 1), Cells(sumend, HowLong)).Locked = False
Вот и всё, теперь там все ячейки не защищены. Проверяем вручную — так и есть. Но что же видим? Невозможно удалить строку с защищенными ячейками. И ничего без очередного макроса не сделать. Хорошо, что макросы работают четко. Что? Через макрос не работает .AutoFit? Да что вы :)
О проблеме: excel.tips.net
Решение через макрос: en.allexperts.com
PPS: Openoffice ещё в сто раз хуже, а iWork может и не глючит (не пользовался), но врядли сравним по функционалу.

