Я думаю, что ваш лучший вариант будет использовать проверку данных.
Выделите ячейки, в которые пользователи будут вводить данные.
Перейдите на вкладку «Данные». На ленте с вкладкой «Данные» нажмите «Проверка данных».
Это вызовет диалоговое окно, в котором вы можете настроить и ограничить тип данных, которые могут вводить пользователи.
Что касается части 2. Вы можете защитить лист, перейдя на вкладку Проверка. На ленте для вкладки «Рецензирование» есть несколько вариантов защиты листа, рабочей книги и т.д. Если вы нажмете на эти значки, это также позволит вам настроить тип защиты, которую вы хотите для своей рабочей книги / рабочего листа.
Оба они доступны в Excel 2016 для Mac (а также в Excel для Windows). Я только что проверил.
Запустите этот макрос после ввода данных, и он добавит данные в конец.
Sub EnterAtEnd()
Dim LastRow As Long, Rng As Range
Range("D1:F1").Select
Selection.Copy
With ActiveSheet
LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row + 1
End With
Set Rng = Range("D" & LastRow)
Rng.Select
ActiveSheet.Paste
End Sub
Примечание: D1: F1 - это область, где вводятся новые данные. Столбец D - это первый столбец данных, которые вы собираете
Вы можете создать кнопку для нажатия после ввода данных для запуска этого макроса.