У меня есть макрос vba, который копирует текущий лист и переименовывает его с текущей датой, которая отлично работает, теперь я хочу, чтобы она поместила формулу в ячейку B22, формулу, которая Я хочу это:Вставка формулы, содержащей переменную, в ячейку с использованием макроса
Current Sheet Previous Sheet
='08 May 2013'!B18 - '01-04-2013'!B18
Я пытался получить этот код, чтобы работать, но это ставит его в виде строки, а не формула т = ('- [12 мая [8 мая 2013 R2C18!] 2013! R2C18])
Dim sheet_name As String
Dim activeSheet_name As String
Dim shtName As Integer
Dim activeShtName As Integer
shtName = Sheets.Count - 1
activeShtName = Sheets.Count
sheet_name = Sheets(shtName).Name
activeSheet_name = Sheets(activeShtName).Name
Sheets(activeSheet_name).Select
Range("B22").Select
ActiveCell.Formula = " = ('[" & sheet_name & " !R2C18] - [ " & activeSheet_name & " !R2C18])"
Любая помощь будет оценена
Спасибо за быстрый ответ, но это не сработало. Я не уверен, что вы понимаете, что я пытаюсь сделать, каждый лист как дата, когда имя листа хранится в переменных sheet_name и activeSheet_name Мне нужна формула для вычтите значение в ячейке B18 на листе 08 мая 2013 года из ячейки B18 на листе 12 мая 2013 года и положите ответ в ячейку B22 на листе 12 мая 2013 года Надейтесь, что это немного яснее – user2378040
Хорошо, я изменил ответ выше. Вы можете точно определить, какой должна быть строка, выполнив ее сначала в Excel, скопировав строку и вставив ее в VBA, а затем заменив ссылки на листы на переменные имени листа. – steveo40
Спасибо steveo40, который работал с удовольствием, я застрял на этом целую вечность. Большое спасибо – user2378040