首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将VBA中的一维数组更改为多维数组以进行访问。

将VBA中的一维数组更改为多维数组以进行访问。
EN

Stack Overflow用户
提问于 2022-09-18 08:41:17
回答 3查看 68关注 0票数 0

我有代码要求用户提供一系列代码,然后创建这样的一维数组:

代码语言:javascript
运行
复制
Dim strDaysTimes As String
Dim arrDaysTimes() As String

strDaysTimes = InputBox("What days and times do you want to schedule meetings for? (write as 6c,7b)", "Enter Days and Times")

arrDaysTimes() = Split(strDaysTimes, ",")

输入的数量没有定义,但格式是。可以是"6c,7b“或"5a,6b,7b”。

我想把它转换成一个多维数组,它将带有这样的值(一个维度有数字部分,另一个有字母部分):

5a

6 b

7 b

我知道我需要使用嵌套的For...Next语句来处理多维数组,但是我希望有任何建议。

EN

Stack Overflow用户

发布于 2022-09-18 09:29:21

使用ReDim

代码语言:javascript
运行
复制
Public Function DivideArray()

    Dim strDaysTimes    As String
    Dim arrDaysTimes()  As String
    Dim DaysTimes()     As String
    Dim Index           As Integer
    
    strDaysTimes = InputBox("What days and times do you want to schedule meetings for? (write as 6c,7b)", "Enter Days and Times")
    
    arrDaysTimes() = Split(strDaysTimes, ",")
    ReDim DaysTimes(UBound(arrDaysTimes) - LBound(arrDaysTimes) + 1, 0 To 1)
    
    For Index = LBound(arrDaysTimes) To UBound(arrDaysTimes)
        DaysTimes(Index, 0) = Left(LTrim(arrDaysTimes(Index)), 1)
        DaysTimes(Index, 1) = Right(RTrim(arrDaysTimes(Index)), 1)
    Next
    
    For Index = LBound(arrDaysTimes) To UBound(arrDaysTimes)
        Debug.Print DaysTimes(Index, 0), DaysTimes(Index, 1)
    Next

End Function

输入示例:

代码语言:javascript
运行
复制
a7, b8, c9

输出:

代码语言:javascript
运行
复制
a             7
b             8
c             9
票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73761253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档