VBA, как передать функцию в качестве параметра другой функции - PullRequest
0 голосов
/ 21 января 2019

Передача функции в качестве параметра другой функции

Sub transliterate() 
  somecode
  ...
  ...
  ...

  return word(a,b)
End Sub 

sub word(x,y)


end sub 

1 Ответ

0 голосов
/ 21 января 2019

VBA не использует return для передачи результата функции.VBA использует следующий вид конструкции, где результат присваивается имени функции.При достижении End Function возвращается значение, присвоенное имени функции.

Sub testTransliterate()
  Dim a As String, b As String, Result As String

  a = "one"
  b = "two"
  Result = transliterate(x(a), b)
  Debug.Print Result
End Sub

Function x(a As String) As String
    x = a & " test"        
End Function

Function transliterate(x, y) As String
    Dim Result As String

   Result = y & ", " & x
   transliterate = Result
End Function
...