2016-04-13 12 views
0

Борьба с применением нормальной формулы excel в формате R1C1, поэтому я могу закодировать формулу в VBA. Вопрос в том, как я могу ссылаться на столбцы других листов, используя нотацию R1C1. Таким образом, в следующей формуле:Смешивание нотации R1C1 и A1

ell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(R[]C[-2])>0,(R[]C[-2])*VLOOKUP([R[]C[1]),Core!A:C,3,FALSE)/_ 
VLOOKUP(R[]C[-1],Core!A:C,3,FALSE),R[]C[4])" 

Как получить Core! A: C в формат R1C1? Я знаю, что вы не можете смешивать два формата, но я боюсь, что я не знаю синтаксиса для этого! Любая помощь приветствуется!

EDIT:

Sub Expo_dos_Formulas() 

'=============================================================================== 
Sheets("Data_Sheet").Activate 

For Each cell In Range("G5:G500") 
    If cell <> "Error" Then 
     cell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(R[]C[-2])>0,_ 
(R[]C[-2])*VLOOKUP([R[]C[1]),Core!RC1:RC3,3,FALSE)/VLOOKUP(R[]C[-1],_ 
Core!RC1:RC3,3,FALSE),R[]C[4])" 
    End If 
Next 
'=============================================================================== 

End Sub 

ответ

3

На месте A:C поставил C1:C3:

ell.Offset(0, 5).FormulaR1C1 = "=IF(LEN(RC[-2])>0,(RC[-2])*VLOOKUP(RC[1],Core!C1:C3,3,FALSE)/_ 
VLOOKUP(RC[-1],Core!C1:C3,3,FALSE),RC[4])" 

При использовании R1C1:

  1. [] будет обозначать относительно неопасный абсолютную ссылку. Например, RC[-1] относится к ячейкам непосредственно слева.

  2. Если требуются абсолютные ссылки, то не используйте [], и он будет ссылаться на номер строки/столбца. Например, R[1]C3 вернет строку непосредственно под ссылкой, но в столбце C. Если ссылочная ячейка A3, она вернет $C4.

  3. Если требуется полная колонка или полная строка, то отбросьте R или C. Например C1:C3 вернется $A:$C и R[1]:R[2] бы вернуть относительную ссылку из двух полных строк непосредственно под ссылочной ячейкой

+0

Благодаря Скотт, я подключен, что и затем поместить формулу в основной петле клеток, но я получение «определяемой приложением или объектной ошибки». вы могли бы помочь, почему? Я только что добавил код к quesiton. – IIJHFII

+0

. Другое дело, в вашей исходной формуле была опечатка, в формуле была добавлена ​​дополнительная ')'. Попробуйте тот, который я только что опубликовал. –

+0

Также я дал плохой совет в своем комментарии, поэтому ответ в ответе. –

Смежные вопросы