Я использую Excel 2016 для Mac, и он не поддерживает пользовательские формы. Я хочу добавить новые записи в мою таблицу (строки) с помощью какого-либо поля ввода, чтобы вы могли добавлять новые записи только через это поле ввода и не могли свободно изменять лист. Кто-нибудь есть идеи, как я могу сделать это без пользовательских форм?

ОБНОВЛЕНИЕ: я мог бы использовать первую строку, чтобы получить пользовательские данные. Как будет выглядеть мой сценарий VBA, чтобы взять данные в первой строке и добавить их в конец таблицы?

Вот скриншот того, что я думал, может работать:

2 ответа2

0

Я думаю, что ваш лучший вариант будет использовать проверку данных.

Выделите ячейки, в которые пользователи будут вводить данные.

Перейдите на вкладку «Данные». На ленте с вкладкой «Данные» нажмите «Проверка данных».

Это вызовет диалоговое окно, в котором вы можете настроить и ограничить тип данных, которые могут вводить пользователи.

Что касается части 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 - это первый столбец данных, которые вы собираете

Вы можете создать кнопку для нажатия после ввода данных для запуска этого макроса.

0

Я хотел бы предложить вам одно из самых простых решений за последнее время, которое я опубликовал только здесь. Просто нажмите на эту ссылку.

Добавить данные после нажатия кнопки на следующий лист и затем

Проверьте код VBA, который был выбран как ответ.

NB. Это решение находится между двумя листами, вы также можете выполнить его на одном листе, изменить диапазон данных копирования и вставки и имя листа по мере необходимости.

Надеюсь, это поможет вам.

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