VBA 在 Excel - 文本框

VBA in Excel - text box

我正在处理电子表格并添加了一个带有 VBA 的按钮以按行中订单项的状态进行过滤。有 3 种不同的状态类型可用。我知道用户 select 按下按钮并获得一个输入框以输入其中一种状态(* = ALL 状态)。在输入框中输入的状态被插入到一个字段中,以显示哪个过滤器被 selected。我的问题是(也许这是一个 2-parter):如果用户 select *(对于所有人),我怎样才能将文本“ALL”插入到字段中?或者,不是输入框,是否有 VBA 下拉/选项 select 所有 3 个状态选项加上“全部”?使用的代码如下。谢谢!凯瑟琳

Private Sub CommandButton1_Click()
ActiveSheet.Unprotect Password:="1234"
Dim strInput As String
strInput = InputBox("Please enter the status to Filter - enter * for ALL rows")
Selection.AutoFilter
ActiveSheet.Range("A7:S1006").AutoFilter Field:=13, Criteria1:=strInput
Range("F3").Value = strInput
ActiveSheet.Protect Password:="1234"

结束子

使用Replace函数

strInput = Replace(InputBox("Please enter the status to Filter - enter * for ALL rows"), "*", "ALL")