Function MergeNames(sArrDep As String, rMergeRange As Range) As String
Dim sTeamMember As String, rNames As Range
Dim iCol As Integer, sMergeNames As String, iIndex As Integer
If rMergeRange.Rows.Count > 1 Then Exit Function
Set rNames = Range("NAMES")
With rMergeRange
If sArrDep = "A" Or sArrDep = "D" Then
iCol = .Columns.Count
For iIndex = 1 To iCol
Debug.Print .Cells(1, iIndex)
If .Cells(1, iIndex).Value = sArrDep Then
sTeamMember = rNames.Cells(1, iCol)
If sMergeNames = "" Then
sMergeNames = sTeamMember
Else
sMergeNames = sMergeNames & "; " & sTeamMember
End If
End If
Next iIndex
Else
Exit Function
End If
End With
MergeNames = sMergeNames
End Function
В ближайшем окне значение ячейки отображается правильно:
? rmergerange.cells (1, iindex) .value
A
Однако в пользовательской функции возвращаемое значение = пусто. Когда я запускаю тот же код, что и подпрограмма, содержимое ячейки корректно извлекается.
Что я делаю не так