Vba 将单元格预设保存在下拉列表中

Vba 将单元格预设保存在下拉列表中,vba,excel,Vba,Excel,目前,我已经创建了一个电子表格,它接受了大量的输入,通过公式列表运行它们,然后将结果显示在“报告”工作表上 我一直在手动将这些报告保存为单独的CSV,但我希望有一个更好的方法,因为当我做月度报告时,必须打开10个CSV会让我感到非常累 我正在寻找一种方法,开始将所有这些报告保存到“数据库”中。我希望有一个单元格用于输入用户名和两个按钮。一个用于以用户输入的名称保存当前报告,另两个用于删除旧记录。然后,我可以通过在下拉列表中选择旧条目来重新访问它们 我在过去曾涉猎过VBA和宏,但这比我在过去处理的

目前,我已经创建了一个电子表格,它接受了大量的输入,通过公式列表运行它们,然后将结果显示在“报告”工作表上

我一直在手动将这些报告保存为单独的CSV,但我希望有一个更好的方法,因为当我做月度报告时,必须打开10个CSV会让我感到非常累

我正在寻找一种方法,开始将所有这些报告保存到“数据库”中。我希望有一个单元格用于输入用户名和两个按钮。一个用于以用户输入的名称保存当前报告,另两个用于删除旧记录。然后,我可以通过在下拉列表中选择旧条目来重新访问它们

我在过去曾涉猎过VBA和宏,但这比我在过去处理的要复杂一些。正在寻求帮助/指导


谢谢你的时间

根据报表的使用方式,只需将数据放入一个大型Excel表格(插入选项卡>表格)中,您可能会感到满意。执行此操作时,Excel将自动填写在列中输入的任何公式,并使用标题而不是A1样式引用显示公式

我使用这种格式,在已完成的每一行的“从活动列表中删除”下添加Y。然后,每当我保存文件或查看文件的当前状态时,我都会过滤掉旧文件,只查看新文件。其他过滤器支持复制粘贴或打印我喜欢的任何安排

表中的筛选器和其他内容可以在VBA中作为工作表(“ThisSheet”).ListObjects(1)引用,它是一个具有许多有用属性和方法的对象

有关VBA信息,请在此处阅读更多内容:

这是我的代码,用于在保存时自动筛选表以隐藏非活动项。您可以将其添加到VBA编辑器中的此工作簿中:


请提供示例数据,说明您的数据是什么样的,以及您期望的结果是什么。建议:考虑将所有的“报告”组织成一个工作簿的单独选项卡,或者可能成为一个由主工作簿操纵的单独的“报告”工作簿。这样,您就不必打开所有这些单独的文件,工作簿的选项卡就可以导出为.csv、.pdf等格式。。。生成报告。使用“数据”选项卡>“数据验证”>“来自列表”来进行任意下拉。。。我把它们放在一张单独的纸上。该表已设置为制作数据透视表。。。只需转到插入选项卡>数据透视表。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Sheets("Sheet1").Activate
SelectedCell = ActiveCell.Address 'this saves your screen selection for after the filtering
ActiveSheet.ListObjects(1).Range(1, 1).Select
If ActiveSheet.ListObjects(1).AutoFilter.FilterMode = True Then
    ActiveSheet.ListObjects.Item(1).AutoFilter.ShowAllData
End If
A = ActiveSheet.ListObjects(1).Range.Rows(1).Find("Remove from List").Column - _
  ActiveSheet.ListObjects(1).Range.Column + 1
ActiveSheet.ListObjects(1).Range.AutoFilter field:=A, Criteria1:="="
Range(SelectedCell).Select

End sub