У меня следующая проблема. Я хочу вызвать soubroutine для изменения цвета фона для диапазона ячеек. Диапазон ячеек вычисляется с помощью ячеек (1,1), а затем адрес рассчитывается для получения A1.
Перед вызовом подпрограммы я получаю адреса для своих ячеек следующим образом:
Range1 = cells(4, 4).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Range2 = cells(4, CellAmount - 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
Я думал, что мне это нужно, потому что подпрограмма объявлена так:
Sub SetBGLightGrey(cells As String)
range(cells).Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 15921906
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Range 1 и Range 2 являются строками, и я согласен с объявлением диапазона:
RangeArea = """" & Range1 & ":" & Range2 & """"
Когда я вызываю свою подпрограмму так:
Call SetBGLightGrey(RangeArea)
Я получаю следующее сообщение об ошибке:
«Ошибка времени выполнения« 1004 »: сбой метода« Диапазон »объекта« _Global ». Я не понимаю этого, потому что если я вызываю подпрограмму с правильными значениями ячейки:
Call SetBGLightGrey("D4:K4")
это работает. Это строка и того же значения. Это просто не может быть, не так ли?