Длинная история:
Когда вы вызываете подпрограмму с помощью Borderline C
, аргумент C
«транслируется» в параметр cell
. Новый саб Sub Borderline(cell As Range)
не знает, что такое C
, но неплохо понимает, что такое cell
. Хотя они такие же. Поскольку он не знает, что такое C
, когда здесь вызывается C
- With C.Borders(xlEdgeLeft)
, возникает ошибка 424.
Краткая история:
At В начале вашего путешествия по VBA убедитесь, что вы вызываете и параметры, и аргументы одинаково. Таким образом, если вы вызываете функцию с Borderline C
, убедитесь, что принятый параметр - Sub Borderline(C as Range)
, и у вас будет на одну проблему меньше, чем нужно.
Рабочий код:
Sub Borderline(c As Range)
With c.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub
Sub Sub1()
Dim c As Range
Set c = Range("E11")
Borderline c
End Sub