我有十二份报告,每月一份。根据输入的月份,我想运行编译报告的相应宏(也标记为一年中的月份)。有没有办法使用输入框来调用宏?
答案 0 :(得分:3)
基本上,您将输入框输入保存为字符串,然后将其与您需要的任何条件进行比较。可以使用巨大的If语句块或Select Case块来完成此比较。
Option Explicit
Sub MonthTest()
Dim strMonth As String
strMonth = InputBox("enter month here")
If strMonth = "January" Then
Call January
MsgBox "You put in January"
ElseIf strMonth = "February" Then
End If
End Sub
Option Explicit
Sub CallMonthCase()
Dim strMonth As String
Select Case strMonth
Case Is = "January"
Call January
Case Is = "February"
Call February
'etc etc
End Select
End Sub
案例结构值得快一点,看起来更清晰,但通常难以在语法上制作,因为我们人类不会想到
答案 1 :(得分:2)
是的,当request
提示用户输入月份时,将用户的输入存储到变量中。在具有InputBox
的宏中,在使用用户选择填充单元格之后,可以使用if语句调用另一个函数/宏。
InputBox
使宏名称与月份的条目相同,因此如果用户输入" 1月"它将运行宏January()。