首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

函数内多个值返回给函数名有关问题

2012-12-15 
函数内多个值返回给函数名问题本帖最后由 hd1439 于 2012-11-06 10:43:39 编辑Function ReadExcelResult(R

函数内多个值返回给函数名问题
本帖最后由 hd1439 于 2012-11-06 10:43:39 编辑


Function ReadExcelResult(RowCount)

For i = 1 To  RowCount - 1
ResultValue = oWorkBook.Worksheets("TCases").Cells(i+1,8)
If ResultValue = "Pass" Then 
iPass = iPass + 1
ElseIf ResultValue = "Not Yet Executed" Then 
iNotYetExecuted = iNotYetExecuted + 1
Else
iFail = iFail + 1
Next 
End Function 


怎么返回iPass 、iNotYetExecuted 、iFail 三个值给ReadExcelResult;或者从这个函数里面取出这三个值
[最优解释]
Function ReadExcelResult(byval RowCount as long,byref iPass as long,byref iNotYetExecuted as long,byref iFail as long ) 
[其他解释]
Option Explicit
Private Type RER
    iPass As Long
    iNotYetExecuted As Long
    iFail As Long
End Type

Private Function ReadExcelResult(RowCount, InRER As RER) As RER
Dim i As Long
    For i = 1 To RowCount - 1
        ResultValue = oWorkBook.Worksheets("TCases").Cells(i + 1, 8)
        If ResultValue = "Pass" Then
            ReadExcelResult.iPass = InRER.iPass + 1
        ElseIf ResultValue = "Not Yet Executed" Then
            ReadExcelResult.iNotYetExecuted = InRER.iNotYetExecuted + 1
        Else
            ReadExcelResult.iFail = InRER.iFail + 1
        End If
    Next
End Function

Private Sub Command1_Click()
Dim s As RER
    s.iPass = 1
    s.iNotYetExecuted = 2
    s.iFail = 3
    s = ReadExcelResult(5, s)
End Sub


大概就是这个样子?

[其他解释]
同意楼上。另外,少了一个End If。
[其他解释]
引用:
Function ReadExcelResult(byval RowCount as long,byref iPass as long,byref iNotYetExecuted as long,byref iFail as long )



在VbsEdit工具中怎么运行报错啊
[其他解释]
引用:
同意楼上。另外,少了一个End If。


在VbsEdit工具中怎么运行报错啊
[其他解释]
引用:
同意楼上。另外,少了一个End If。


我需要把 iPass 、iNotYetExecuted 、iFail 传递到另一个函数中去


[其他解释]
可以返回一个结构体,或者数组。
[其他解释]

引用:
同意楼上。另外,少了一个End If。


修改成这样试试:
Function ReadExcelResult(RowCount,byref iPass ,byref iNotYetExecuted,byref iFail)



[其他解释]
引用:
可以返回一个结构体,或者数组。

怎么返回一个结构体或数组

热点排行