Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
将数据从excel导出到word,同时执行以下操作_Excel_Vba_Export_Ms Word - Fatal编程技术网

将数据从excel导出到word,同时执行以下操作

将数据从excel导出到word,同时执行以下操作,excel,vba,export,ms-word,Excel,Vba,Export,Ms Word,我试图将数据从excel导出到word,但在请求while语句时出现了问题。由于某种原因,我在作为personClass的行ReDim Preserve zPList(zIndex)处得到一个错误,错误是下标超出范围 有人能帮忙吗 Public Sub GetExcelData(ByRef zPList() As personClass, ByRef zIndex As Integer) Dim tempStr As String tempStr = "" Dim ro

我试图将数据从excel导出到word,但在请求while语句时出现了问题。由于某种原因,我在作为personClass的行
ReDim Preserve zPList(zIndex)处得到一个错误,错误是
下标超出范围

有人能帮忙吗

Public Sub GetExcelData(ByRef zPList() As personClass, ByRef zIndex As Integer)

    Dim tempStr As String
    tempStr = ""
    Dim row As Integer
    row = 2

    While tempStr <> "zzz"

        zindez = zIndex + 1
        ReDim Preserve zPList(zIndex) As personClass
        Set zPList(zIndex) = New personClass

        Range("A" + CStr(row)).Select
        zPList(zIndex).fname = ActiveCell.text

        Range("B" + CStr(row)).Select
        zPList(zIndex).lname = ActiveCell.text

        Range("C" + CStr(row)).Select
        zPList(zIndex).Email = ActiveCell.text

        Range("D" + CStr(row)).Select
        zPList(zIndex).phoneN = ActiveCell.text

        row = row + 1
        Range("A" + CStr(row)).Select
        tempStr = ActiveCell.text

    Wend

End Sub
Public子GetExcelData(ByRef zPList()作为personClass,ByRef zIndex作为整数)
作为字符串的Dim tempStr
tempStr=“”
将行设置为整数
行=2
而tempStr“zzz”
锌锌=锌指数+1
将zPList(zIndex)保留为personClass
Set zPList(zIndex)=新personClass
范围(“A”+CStr(行))。选择
zPList(zIndex).fname=ActiveCell.text
范围(“B”+CStr(世界其他地区))。选择
zPList(zIndex).lname=ActiveCell.text
范围(“C”+CStr(世界其他地区))。选择
zPList(zIndex).Email=ActiveCell.text
范围(“D”+CStr(世界其他地区))。选择
zPList(zIndex).phoneN=ActiveCell.text
行=行+1
范围(“A”+CStr(行))。选择
tempStr=ActiveCell.text
温德
端接头

在本例中,要进行调试,您应该查看zIndex。可能小于0?如果没有,那么您应该发布代码,最初将zPList变暗,初始化zIndex并调用子GetExcelData。