Вам не нужно составлять адрес какого-либо диапазона самостоятельно - таким образом вы только оставите себя открытыми для потенциальных проблем.
Например, в ответе cularis (очень хорошо) естьнет одинарных кавычек вокруг имени листа.В этом случае они не требуются, но если в имени листа есть пробел, то вам do нужны кавычки.(Моя точка зрения заключается в том, что вам не нужно знать - и обслуживать - все это самостоятельно).
Вместо этого вы можете указать External:=True
в вызове Address()
, что даст вамадрес, который включает имя листа.Я бы сделал что-то вроде этого:
Dim oWorksheet1 As Worksheet
Dim oWorksheet2 As Worksheet
...
.Formula = "=" & oWorksheet1.Cells(j,1).Address(External:=True) & "/" & oWorksheet2.Cells(i,2).Address(External:=True)
Обратите внимание, что в вашем случае вам, вероятно, нужно использовать параметр External
только для одного из рабочих листов, но при этом, чтобы дополнительное время не повредило,в Excel все равно упростит формулу для вас.