Страницы: 1
RSS
Ошибка синтаксиса вызова процедуры с опциональным параметром
 
Здравствуйте!

Есть процедура:
Код
Sub issue_a_warning(x As Long, Optional ByVal txt As String = "В строке есть замечания!")
    If ActiveSheet.Cells(x, 2).Interior.Color <> vbRed Then
        ActiveSheet.Cells(x, 2).Interior.Color = vbRed
        ActiveSheet.Cells(x, 2).AddComment
        ActiveSheet.Cells(x, 2).Comment.Text Text:=txt
        ActiveSheet.Cells(x, 2).Comment.Visible = True
        ActiveSheet.Cells(x, 2).Comment.Shape.Select True
        With Selection
            .AutoSize = True
        End With
        ActiveSheet.Cells(x, 2).Comment.Shape.Select False
    End If
End Sub
которая успешно в другой процедуре вызывается как:
Код
issue_a_warning (cell.Row)
и безуспешно(компилятор говорит о синтаксической ошибке) так:
Код
issue_a_warning (cell.Row, "В источнике задвоение!")
В чем причина?
желаю всем счастья
 
Цитата
borro написал:
issue_a_warning (cell.Row)
Если не ошибаюсь, cell.Row нужно без скобок.
 
Перед вызовом процедуры всегда используйте слово "Call". Например:
Код
Call issue_a_warning (cell.Row, "В источнике задвоение!")
Без "Call" так:
Код
issue_a_warning cell.Row, "В источнике задвоение!"

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Михаил С., спасибо! Да, без скобок заработало
желаю всем счастья
Страницы: 1
Наверх