Ошибка макроса типа макроса Excel при прохождении через столбец

Каждый вызов этой функции приводит к несоответствию типа «13» Runtime. Почему это происходит?

Public Function VersionExists(versionId As String) VersionExists = False For Each cell In Tabelle2.Columns(1) If cell.Value = versionId Then VersionExists = True End If Next End Function 

    Вот альтернатива, как я предложил в комментарии

     Public Function VersionExists(versionId As String) As Boolean Dim aCell As Range, rng As Range Set rng = Tabelle2.Columns(1) Set aCell = rng.Find(What:=versionId, LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not aCell Is Nothing Then VersionExists = True End Function 

    Вы не можете получить доступ к cell.value из .Columns(1) поскольку он возвращает диапазон, охватывающий весь столбец;

     For Each cell In Sheet1.Columns(1).Rows '//or .cells 

    Вероятно, неплохо выйти из цикла for после матча.

    Давайте будем гением компьютера.