我有代码要求用户提供一系列代码,然后创建这样的一维数组:
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语句来处理多维数组,但是我希望有任何建议。
发布于 2022-09-18 09:29:21
使用ReDim
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输入示例:
a7, b8, c9输出:
a             7
b             8
c             9https://stackoverflow.com/questions/73761253
复制相似问题