gpt4 book ai didi

excel - 根据用户输入在单元格中输入条件字符串

转载 作者:行者123 更新时间:2023-12-04 22:10:14 25 4
gpt4 key购买 nike

这是上一个问题 here 的后续内容。我问如何开发 input box要求用户以特定格式输入数据(例如:2010 年第四季度)

我现在需要获取用户输入的前 2 个字符(始终是 Q1、Q2、Q3 或 Q4)并根据结果更改另一个单元格中的文本。具体来说,如果用户输入一个以 Q1 或 Q3 开头的字符串,我需要它来复制 <insert text1>进入 Sheet3 中的一个单元格,如果他们输入 Q2 或 Q4,它会复制 <insert text2>而是在同一个单元格中。

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

最佳答案

你可以试试这个来填充A1一张名为 Sheet3 的表格用两个字符串

[ 更新 根据 msgbox asking for user input in specific format使用正则表达式来防弹]

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

关于excel - 根据用户输入在单元格中输入条件字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com