VBA如何将用户输入的逗号分隔内容存储为数组
代码调整方案
你写的核心拆分逻辑是没问题的,只需要补全变量声明、增加边界场景的异常处理就能稳定运行,完整版代码如下:
Sub 逗号分隔内容转数组() Dim arWords() As String Dim myt As String Dim X As Long Dim myf As String ' 读取用户输入 myt = InputBox("请输入以逗号分隔的内容:", "输入提示") ' 处理用户点击取消的场景,避免后续运行报错 If StrPtr(myt) = 0 Then MsgBox "已取消输入", vbInformation Exit Sub End If ' 空输入校验 If Trim(myt) = "" Then MsgBox "输入内容不可为空", vbExclamation Exit Sub End If ' 拆分字符串存入数组 arWords = Split(myt, ",") ' 遍历数组拼接结果做验证,不需要的话可以删除这段循环 For X = 0 To UBound(arWords) ' 可选:去掉每个元素前后的空格,兼容逗号前后带空格的输入格式 arWords(X) = Trim(arWords(X)) myf = myf & arWords(X) & vbCr Next X ' 输出结果验证 MsgBox "拆分完成,共" & UBound(arWords) + 1 & "个元素:" & vbCr & vbCr & myf, vbInformation End Sub
补充说明
- 原代码未声明
myt、X、myf三个变量,建议在VBA编辑器的「工具→选项→编辑器」中勾选「要求变量声明」,之后新建模块会自动在顶部添加Option Explicit,强制校验变量声明,避免变量名拼写错误引发的隐蔽bug - 如果不需要把数组内容拼接输出,直接删掉循环和后面的MsgBox输出逻辑即可,执行完
Split之后arWords就是你需要的存储单词的数组
内容的提问来源于stack exchange,提问作者kyle
相关产品推荐
相关产品推荐

