2013-11-23 3 views
3

Хорошо, я хочу кое-что добавить к этому макросъемкиVBA Excel Передача назад параметр

Sub Search() 
    Inputbox myInput      
    found = false 
    loop 
    Call getInput (myInput)   '~> check multiple files 
    end loop 
    If found = false 
    'DO something 
    End if 
End sub 

Sub getInput(ByVal inputVar As String, ByVal Input as Boolean) 
    If a = inputVar Then     
     found = true      '~> I want to pass this parameter back to search 
    End If 
End sub 

Дело в том, как я хочу, чтобы мой к югу, чтобы передать нашел параметр из Поиск() в getInput(), а затем getInput() возвращают найдено параметр Search()

Должен ли я добавить что-то вроде поиска (ByVal найдено как boolean)?

+0

Что такое 'a' в вашем' getInput' Sub? и ваш синтаксис цикла недействителен. – Sam

+2

Функция может возвращать значения. Вы пробовали их? – Octavio

ответ

2

Если вы хотите вернуть значение, вы должны изменить getInput Sub на функцию, поскольку они могут возвращать значения.

Sub Search() 
    Dim found As Boolean 

    InputBox myInput 

    found = checkInput(myInput) 

    If found = False Then 
    'DO something 
    End If 
End Sub 

Function checkInput(inputVar As String) As Boolean 

    Dim result As Boolean 

    'do your checking here and set result 

    'return the result 
    checkInput = result 

End Function 
+0

Работает! благодаря :) – Aldin

Смежные вопросы