无需用户表单的 Excel 数据输入

无需用户表单的 Excel 数据输入

我正在使用适用于 Mac 的 Excel 2016,它不支持用户表单。我想要实现的是使用某种输入字段向我的表格(行)添加新条目,这样您只能通过此输入字段添加新条目,而不能自由修改工作表。有人知道我如何在没有用户表单的情况下做到这一点吗?

更新:我可以使用第一行来获取用户数据。我的 VBA 脚本应该如何获取第一行的数据并将其附加到工作表末尾?

以下是我认为可行的屏幕截图:

在此处输入图片描述

答案1

我想向您推荐我最近发布在这里的最简单的解决方案。只需单击此链接即可。

单击按钮后将数据添加到下一张表,然后

检查已被投票为答案的 VBA 代码。

注意:该解决方案位于两张工作表之间,您也可以在一张工作表中执行它,根据需要更改复制和粘贴数据范围和工作表名称。

希望这对你有帮助。

答案2

我认为最好的选择是使用数据验证。

突出显示用户将输入数据的单元格。

转到“数据”选项卡。在“数据”选项卡功能区中,单击“数据验证”。

这将弹出一个对话框,您可以在其中自定义和限制用户可以输入的数据类型。

至于第 2 部分,您可以通过转到“审阅”选项卡来保护工作表。在“审阅”选项卡的功能区上,有许多选项可用于保护工作表、工作簿等。如果您单击这些图标,它同样允许您自定义工作簿/工作表所需的保护类型。

这些都可以在 Mac 版 Excel 2016(以及 Windows 版 Excel)中使用。我刚刚检查过。

输入数据后运行此宏,它会将数据附加到末尾。

子输入结束()

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

子目录结束

注意:D1:F1 是输入新数据的区域。D 列是您正在收集的数据的第一列

您可以创建一个按钮,在输入数据后按下该按钮即可运行此宏。

相关内容