Как динамически изменить имя листа в формуле Excel? - PullRequest
2 голосов
/ 17 ноября 2011

У меня есть код VBA, одна из строк которого выглядит так

analysisSheet.Cells (i, tempCell) .FormulaR1C1 = "= СРЗНАЧ ( 'Данные1'! R [-2] C [-7])"

Я хочу иметь возможность изменить лист «Данные1», чтобы пользователь мог динамически выбирать лист, который он / она хочет проанализировать. Например, если пользователь выберет «Data2», код будет работать следующим образом.

analysisSheet.Cells (i, tempCell) .FormulaR1C1 = "= СРЗНАЧ ( 'Data2'! R [-2] C [-7])"

Я пытался создать строковую переменную и вставить ее, но это не сработало.

У кого-нибудь есть идеи? Заранее спасибо.

1 Ответ

3 голосов
/ 17 ноября 2011

Вы должны иметь возможность использовать строковую переменную, например, SheetName, как вы описали:

Dim SheetName As String
SheetName = "Data3"
analysisSheet.Cells(i, tempCell).FormulaR1C1 = "=AVERAGE('" & SheetName & "'!R[-2]C[-7])"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...