Excel: запуск макроса на другом листе

#excel #vba #excel-formula

#excel #vba #excel-формула

Вопрос:

У меня есть кнопка на одном листе (назовем ее worksheet1), и я хочу запустить макрос на другом листе, если он нажат. Мой код выглядит так:

 Sub Makro1()
Dim try As String
Dim wb As Workbook: Set wb = ThisWorkbook
Dim ws As Worksheet
Set ws = wb.Sheets("Worksheet2")

'
' Makro1 Makro
'

'
    ActiveCell.FormulaR1C1 = _
        "=SUM(R[-50]C[8]:(INDIRECT(""K"" amp; (MATCH(TODAY(),R[-50]C[7]:R[94]C[7],0)   6))))"
    ws.Range("INDIRECT(""C"" amp; (MATCH(TODAY(),R[-50]C[7]:R[94]C[7],0)   6))").Select
End Sub
 

Поскольку я никогда раньше не работал с Excel, я не знаю, что не так…
Цель состоит в том, чтобы добавить формулу в ячейку (C__), номер индекса которой совпадает с сегодняшней датой (сравнение в ячейках от J7 до J151).

Комментарии:

1.1. ActiveCell.FormulaR1C1 Это поместит формулу в activesheet. Возможно, что-то вроде ws.Range("A1").FormulaR1C1... изменения A1 соответствующей ячейки назначения. 2. ws.Range("INDIRECT(""C"" amp; (MATCH(TODAY(),R[-50]C[7]:R[94]C[7],0) 6))").Select При использовании необходимо указать правильное имя диапазона Range()

2. Спасибо, первая часть помогает, но для второй части, что я могу использовать вместо Range()? Поскольку мне нужен этот макрос, добавляйте формулу в новую ячейку каждый день