Вопрос по vba – VBA - переменная в диапазоне, внутри формулы

2

У меня есть следующий код, чтобы рассчитать максимум в диапазоне ячеек:

 Range("E3").Select
 ActiveCell.FormulaR1C1 = "=MAX(RC[-3]:R[50]C[-3])"

Как я могу заменить 50 с переменной в моем коде?

Спасибо за вашу помощь!

Ваш Ответ

2   ответа
6

Вы пробовали это:

Dim sVal as String
sVal = "50"
ActiveCell.FormulaR1C1 = "=MAX(RC[-3]:R[" & sVal & " ]C[-3])"
Отлично, я забыл & amp; & amp; Большое спасибо за ваш быстрый ответ! user1115535
0

Что-то вроде этого:

Dim somevar as Integer
somevar = 50
ActiveCell.FormulaR1C1 = "=MAX(RC[-3]:R[" + somevar + "]C[-3])"
Хотя это сработает, используя «+» к конкатенации строк не рекомендуется. & Amp; Оператор рекомендуется для конкатенации строк, поскольку он определен исключительно для строк и снижает ваши шансы на генерацию непреднамеренного преобразования.
Согласовано. Я использую оба, но я также помнил, когда эти непреднамеренные преобразования могли вызвать проблему.

Похожие вопросы