Страницы: 1
RSS
Expected Array
 
Доброго времени, уважаемые форумчане.
Прошу помощи, совета в проблеме.
Код
...код...

Dim currentTable As Range
Set currentTable = Range(salesTable) (диапазон работает корректно, то подтверждается последующей корректной работой кода с currentTable)

Dim isEmpty As Boolean
isEmpty = isEmpty(currentTable) (Но на этапе выполнения функции ловлю ошибку компиляции "Expected Array")

...код...

Private Function isEmpty(currentTable As Range) As Boolean

    If currentTable.Cells(1, 1) = "" Then
        isEmpty = True
    Else
        isEmpty = False
    End If
    
End Function

Подскажите пожалуйста, что ему нужно от меня, я в отчаянии(

Заранее большое спасибо!

 
Цитата
SilentSpirit написал:
я в отчаянии(
у компилятора то же состояния от ваших обьявлений... имен переменных и функций
Код
Sub bbb()
  Dim currentTable As Range, salesTable
  salesTable = Selection.Address
  Set currentTable = Range(salesTable) '(диапазон работает корректно, то подтверждается последующей корректной работой кода с currentTable)
  Dim isEmp As Boolean
  isEmp = isEmpt(currentTable) '(Но на этапе выполнения функции ловлю ошибку компиляции "Expected Array")
End Sub

' то что вы обьявили как isEmptу названо isEmpt и вычисляется одной строчкой
Private Function isEmpt(currentTable As Range) As Boolean
  isEmpt = currentTable.Cells(1, 1) = ""
End Function
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Не понимаю, что изменилось? В currentTable у меня присвоен диапазон, присвоен корректно. Далее объявлена булевая переменная.
Далее в булевую переменную записывается результат работы функции которая принимает диапазон и возвращает собственно булевую переменную. По идее все должно работать. Что не так?

P.S Я понимаю, что без искрометных шуток трудно обойтись, но мне пока плевать на названия переменных. Моя задача изучить язык, понять синтаксис и его работу.

Если хотите помочь, так помогите, я буду очень благодарен. Но не нужно тешить своё самолюбие. Тем более, как я сказал в начале, не понятно что изменилось по существу.
Спасибо
Изменено: SilentSpirit - 22.05.2022 17:54:20
 
Цитата
SilentSpirit написал:
но мне пока плевать на названия переменных. Моя задача изучить язык
я поправил код и выложил выше, работает?
чтобы было не наплевать - почитайте какие ограничения VBA налагает на программиста при обьявлении имен переменных, функций и процедур. почитать мало, нужно понять и руководствоваться этими правилами.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Спасибо за помощь. Достаточно было написать примерно следующее: "У вас совпадают имя переменной и имя функции. VBA запрещает это".
Смотрите как оказывается просто можно. Крепких вам нервов, Игорь.
Страницы: 1
Наверх