Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays excel VBA中文本文件的二维数组_Arrays_Excel_Vba_Multidimensional Array - Fatal编程技术网

Arrays excel VBA中文本文件的二维数组

Arrays excel VBA中文本文件的二维数组,arrays,excel,vba,multidimensional-array,Arrays,Excel,Vba,Multidimensional Array,我正在打开一个包含如下文本的文本文件 asdf,zxcv,asdwqe,asdh,we5,dvsew,safhc asdf8,asdf3,asdf4,asdf5,asdf6,asdf7,asdf2 .... 我正试图把这些都放到一个二维数组中,到目前为止,我唯一能做的就是逐行读取文件,并用逗号将该行分割成一个一维数组,并以这种方式使用信息。但我不知道如何使用2D数组来实现这一点,我在谷歌上搜索过,没有发现任何有用的东西。 有什么方法可以将我的一维数组放入二维数组或其他什么 此外,我不知道每行有

我正在打开一个包含如下文本的文本文件

asdf,zxcv,asdwqe,asdh,we5,dvsew,safhc
asdf8,asdf3,asdf4,asdf5,asdf6,asdf7,asdf2
....
我正试图把这些都放到一个二维数组中,到目前为止,我唯一能做的就是逐行读取文件,并用逗号将该行分割成一个一维数组,并以这种方式使用信息。但我不知道如何使用2D数组来实现这一点,我在谷歌上搜索过,没有发现任何有用的东西。 有什么方法可以将我的一维数组放入二维数组或其他什么

此外,我不知道每行有多少字符串(但所有行的数量都相同),也不知道文件中有多少行

编辑:为了澄清,我希望它如何工作,例如,如果我做了
MsgBox myArray(1,3)
我希望“asdf5”显示在该消息框中。

这应该可以工作:

Sub arrayTest()

    Dim arrData
    Dim wbtemp      As Workbook


    '/ 2 = Comma (format parameter)

    Set wbtemp = Workbooks.Open("C:\temp\test.txt", False, True, 2)

    '/ Read in Array. range array is always 2D
    arrData = wbtemp.Worksheets(1).UsedRange
    wbtemp.Close (0)

    '/ Range array will always start from 1. No 0 base,
    '/ but given how less code one needs to write, its a fair trade off.

    MsgBox arrData(2, 4)

End Sub
这应该起作用:

Sub arrayTest()

    Dim arrData
    Dim wbtemp      As Workbook


    '/ 2 = Comma (format parameter)

    Set wbtemp = Workbooks.Open("C:\temp\test.txt", False, True, 2)

    '/ Read in Array. range array is always 2D
    arrData = wbtemp.Worksheets(1).UsedRange
    wbtemp.Close (0)

    '/ Range array will always start from 1. No 0 base,
    '/ but given how less code one needs to write, its a fair trade off.

    MsgBox arrData(2, 4)

End Sub

第二维度中会有哪些数据?“…”表示文件中的许多其他行,我不确定第二维度中的数据是什么意思,但按照我的示例,如果我使用myArray(1,3),我希望能够检索字符串“asdf5”,您能发布到目前为止的内容吗,省去了重新发明轮子的麻烦。什么数据将出现在第二维度中?“…”表示文件中的许多其他行,我不确定第二维度中的数据是什么意思,但按照我的示例,如果我使用myArray(1,3),我希望能够检索字符串“asdf5”,你能发布到目前为止的内容吗,省去了重新发明轮子的麻烦。谢谢!这很好,有没有办法禁用一瞬间弹出的工作簿?查看application.screenUpdateingApplication.DisplayAlerts=False除非需要返回值,否则不要使用括号。谢谢你!这很好,有没有办法禁用一瞬间弹出的工作簿?查看application.screenUpdateingApplication.DisplayAlerts=False除非需要返回值,否则不要使用括号。wbtemp关闭错误