条件string根据用户input进入单元格

接下来的问题来自于我之前提出的一个问题, 在这个问题中,我问如何开发一个input box ,要求用户input一个特定格式的数据(例如:2010年第四季度)

我现在需要取用户input的前两个字符(总是为Q1,Q2,Q3或Q4),并根据结果更改另一个单元格中的文本。 具体地说,如果用户input一个以Q1或Q3开头的string,我需要它将<insert text1>复制到Sheet3一个单元格中,如果他们inputQ2或Q4,它会将<insert text2>复制到同一个单元格中。

我不知道如何只考虑input的一部分,所以任何帮助最欢迎:)

您可以尝试使用这两个string来填充名为Sheet3的工作表的A1

[根据msgbox 更新 , 要求使用正则expression式的特定格式的用户input是防弹的]

 Option Explicit Sub Rattle_and_hmmmm2() Dim strReply As String Dim strTitle As String Dim objRegex As Object Dim objRegMC As Object Set objRegex = CreateObject("vbscript.regexp") With objRegex .ignorecase = True .Pattern = "^Q([1-4])\s20[10-20]{2}$" Do If strReply <> vbNullString Then strTitle = "Please retry" strReply = Application.InputBox("Enter period (format: Q4 2010) to update, or hit enter to escape", strTitle, "Q" & Int((Month(Now()) - 1) / 3) + 1 & " " & Year(Now()), , , , , 2) If strReply = "False" Then MsgBox "User hit cancel, exiting code", vbCritical Exit Sub End If Loop Until .test(strReply) Set objRegMC = .Execute(strReply) End With Select Case objRegMC(0).submatches(0) Case 2, 4 Sheets("Sheet3").[a1] = "insert text2" Case 1, 3 Sheets("Sheet3").[a1] = "insert text1" End Select Sheets("Sheet1").[b14].Value = UCase$(strReply) End Sub