按索引编号

时间:2015-11-04 16:22:43

标签: excel vba excel-vba

我正在创建一个模型,要求用户输入参数(年份,地区,风险类型),并返回与之关联的值。返回的值将根据输入的年份和区域而变化。目前,我尝试创建一个搜索多个工作表的for loop。我只专注于该地区,并将在以后输入年份。我创建了两个函数来获取相关工作表的索引号:

'creates index number for first needed sheet, used to locate projected scores
Public Function GetStartIndex() As Integer
    On Error Resume Next
    GetStartIndex = ThisWorkbook.Worksheets("LMC_Model").Index + 1
End Function

'creates index number for final sheet, used to locate projected scores
Public Function GetEndIndex() As Integer
    On Error Resume Next
    GetEndIndex = ThisWorkbook.Worksheets("Other").Index - 2 'ensures that we get correct sheet
End Function

稍后,我有一个实际for loop的部分。

indexStart = GetStartIndex()
indexEnd = GetEndIndex()
riskLookupScore = Application.VLookup(risk, ws9.range("G10:H14"), 2)

For i = indexStart To indexEnd
    If i = riskLookupScore Then
        Cells(16, 4).Value = Application.VLookup(region, ThisWorkbook.Worksheets(i).range("c3:c11"), 0)
    End If
Next i

riskLookupScore变量分配了一个用于在for loop中进行匹配的数字。但是,当我运行代码时,我会得到一个“NA'我的结果的价值。我觉得好像引用与ThisWorkbook.Worksheets(i).range("c3:c11")一起使用的工作表就是这种情况发生的地方。有人可以提供任何建议吗?

0 个答案:

没有答案
相关问题