ActiveCell.FormulaR1C1 = "=ЛЕВЫЙ(RC[11],3)"
Вышеупомянутое работает так, как я хочу. Но когда я изменяю его (ниже), чтобы я мог перебирать файл с моей переменной цикла, равной «r», я получаю «ожидаемый конец оператора». Есть ли что-то принципиально неправильное в том, что я пытаюсь сделать?
'ActiveCell.FormulaR1C1 = "=LEFT(!R" & CStr(r) & "C11",3)"
2 ответа
Похоже, вы пытаетесь сохранить три левых символа из столбца 11 вдали от активной ячейки.
Если вы перебираете строки (R), все, что вам нужно сделать, это заменить формулу в активной ячейке r число раз. Окончательный r будет окончательно установлен как формула в активной ячейке.
Вы пытаетесь пройти каждую из строк и сохранить три левых символа из столбца 11 вправо?
Если это так, вы можете попробовать ActiveCell.Offset(row,col). Вы можете перебирать строки с помощью: ActiveCell.Offset(1,0).activate
Вы можете сохранить формулу в исходном столбце с помощью: ActiveCell.Formula = "=LEFT(RC[11],3)"
Если вы отслеживаете количество циклов, вы можете вернуться к начальной точке с помощью: ActiveCell.OffSet(-(myRowCount),0).Activate
Вы также можете проверить ActiveCell.value, чтобы увидеть, не достигли ли вы конца своих данных.
Вы перепутали несколько символов. Вот решение:
ActiveCell.FormulaR1C1 = "=LEFT(R[" & CStr(r) & "]C[11],3)"
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию объектов или файлов Excel или по разработке формул. Вы можете комбинировать тег Excel с тегами и вопросами VBA, VSTO, C#, VB.NET, PowerShell, OLE и другими тегами и вопросами, связанными с программированием, если это применимо. НЕ используйте с другим программным обеспечением для работы с электронными таблицами, например [google-sheets].
Range("A1:A99").FormulaR1C1 = "=LEFT(RC[11],3)"
."
?!R"
. Вы пропустили скобку"