excel - 如何让 Excel 中 ActiveX InputBox 的输入出现在我的 VBA 代码中?
问题描述
我正在尝试在 Excel 中制作一个用户数据输入表,以便它可以从另一个工作表中过滤掉数据库,但是,我不知道如何使用从该输入表中获取的数据并将其保存在我的 VBA 代码。
这是我的数据输入表:
我想要做的是替换此代码中的弹出输入框并替换数据输入表中的输入。这是之前的代码:
Sub InputFilter()
Dim strInput As String
Dim strInput1 As String
Dim strInput2 As String
ActiveSheet.AutoFilterMode = False
strInput = InputBox("Enter your value to filter WPP")
'Selection.AutoFilter
ActiveSheet.Range("$A$4:$BL$351").AutoFilter Field:=8, Criteria1:=strInput 'User Input for desired WPP
strInput1 = InputBox("Enter your Product Category")
'Selection.AutoFilter
ActiveSheet.Range("$A$4:$BL$351").AutoFilter Field:=6, Criteria1:=strInput1 'User Input for Product Category
....
把它变成这样的东西,但它一直抛出 438 错误,并且输入表中的数据不想替换 strInput
Sub test()
ActiveSheet.AutoFilterMode = False
ActiveWorkbook.Worksheets("Raw Data Domestic").strInput = ActiveSheet("Sheet").txtWPP.Value
ActiveSheet("Raw Data Domestic").Range("$A$4:$BL$351").AutoFilter Field:=8, Criteria1:=strInput
End Sub
解决方案
ActiveSheet.Range("$A$4:$BL$351").AutoFilter Field:=6, Criteria1:=strInput
需要将字符串分配给Criteria1
属性。这个字符串来自哪里并不重要。以下任何一项都可以,并且可以给出更多示例。
strInput = InputBox("Enter your value to filter WPP")
or
strInPut = ActiveSheet.Cells(3, 1).value
or
strInput = ActiveSheet.txtWPP.Value
请记住,它ActiveSheet
指定了活动工作表,无论其名称如何。ActiveSheet("Sheet")
因此是不可能的。要么只是ActiveSheet
要么Worksheets("Sheet")
。
推荐阅读
- terraform - 地形:count == true
- python-3.x - 将食物网文本文件转换成字典-python 3
- r - 特定表的函数计数用法:UseMethod(“组”)中的错误:没有适用于“组”的适用方法应用于“字符”类的对象
- git - GIT 默认忽略对已提交文件的本地更改
- html - Html img srcset,不显示移动设备的小图像
- java - 如何确定从(Java)发生了哪一侧冲突
- javascript - javascript 在您键入时显示多个搜索结果
- bash - 我可以返回并更改我之前在 Bash 中回显的一行吗?
- sql - ExecutedScalar() - ASP.NET Web 应用程序
- jquery - 如果 "li" 有这个 id,不要添加活动类