Обратитесь к ячейке на другом листе - PullRequest
0 голосов
/ 15 ноября 2018

Это похоже на то, что я должен быть в состоянии понять, однако я борюсь с этим.

Я пытаюсь установить диапазон для переменной, чтобы затем обратиться к этому диапазону в уравнении. Эта переменная принимает текущее значение ячейки. Вы можете узнать это со вчерашнего дня. Я получил это работает, но кто-то сказал, что я должен ссылаться на переменную как на диапазон, и именно здесь у меня проблема.

    Dim Sacc, GSacc As Range

   'I want this to refer to the range, that is happening is Sacc = "Test Cell"
    Set Sacc = Sheets(2).Range("F4")

    Sacc.Select 'this works

    'run-time error 1004
    ActiveCell.Offset(1).Formula = "=IF('" & Sacc & " = """",""LMonth not done"",""LMonth Done"")" 

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

вы можете использовать нотацию R1C1 и упростить ваш код

, и вы не хотите ничего выбирать

следующим образом.

Sheets(2).Range("F5").Formula = "=IF(R[-1]C = """",""LMonth not done"",""LMonth Done"")"

вы также можете использовать ISBLANK() функция Excel для проверки пустых ячеек:

Sheets(2).Range("F4").Offset(1).Formula = "=IF(ISBLANK(R[-1]C),""LMonth not done"",""LMonth Done"")"
0 голосов
/ 15 ноября 2018

Думаю, вам нужно сослаться на адрес ячейки.Вам не нужно сначала выбирать ячейку, и вы должны добавлять тип переменной после каждого объявления.В вашем коде Sacc объявлен как variant.

Sub x()

Dim Sacc As Range, GSacc As Range

Set Sacc = Sheets(2).Range("F4")

Sacc.Offset(1).Formula = "=IF(" & Sacc.Address & " = """",""LMonth not done"",""LMonth Done"")"

End Sub

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...