我有一张杂货的 Excel 表。其中一列是名称,另一列是是否购买(复选框),还有一列是金额。
我希望在顶行有一个小部件,这样当我开始输入项目名称时,它会显示一个匹配项目的列表,我可以从中进行选择,或者如果我继续输入并且只有一个项目,它会完成其名称。当选择最后一个项目时,其他小部件会显示数量,我可以编辑它,单击“检查”将检查列表中的项目。
我知道这很具体,但我希望至少有人可以帮助我开始。
谢谢你,伊泰
答案1
对于匹配项列表,如果您希望它自动完成,则需要使用组合框+宏。
第一步是在您的工作表或其他工作表上创建一个杂货清单。此列表将用于填充“小部件”。您应该将此列表设为命名范围让您以后的生活更加轻松。
接下来是你的“小部件”。你没有指定你拥有哪个版本的 Excel,因此你需要了解如何添加 ActiveX 组合框到您的工作表。
完成后,您需要打开 Visual Basic 编辑器 - 按 Alt + F11 即可。
在左侧窗口中,你会看到VBAProject([您的工作簿名称])以及其下名为“Microsoft Excel 对象”的文件夹。
展开该文件夹,你会看到一个名为本工作簿双击它并在右侧窗口中输入以下代码:
Private Sub Workbook_Open()
Sheets("Sheet1").ComboBox1.List = _
Application.WorksheetFunction.Transpose(Range("A1:A56"))
End Sub
代替:
组合框1使用您的组合框的实际名称(这是插入工作簿中的第一个组合框的默认名称)
工作表1使用实际工作表的名称
范围(“A1:A56”)以及您的杂货清单的所在位置。如果您在另一张工作表上有该列表,则可以说 Sheets("Sheet2").Range("A1:A56")。如果您已为该范围指定名称,例如“Groceries”,则可以将其替换为 Range("Groceries") (命名范围是全球性的)。
这样做的目的是告诉 Excel 在打开工作簿时用您告诉它的列表填充该组合框(您可以通过单击 VB 编辑器工具栏中的播放按钮来检查它是否有效)。您需要有选项启用宏。
我相信这会让你现在很忙:)
答案2
我会在另一张表上创建您通常购买的物品清单,然后使用数据验证在物品列中放置一个包含所有物品的下拉列表。