/ / Виклик .Cells (i, j) в .formula у VBA - excel-vba, vba, excel

Виклик. Cells (i, j) у формат VBA - excel-vba, vba, excel

Привіт Я хочу назвати клітини, використовуючи. Клітини (I, J) в. Формула

Мої макроси в даний момент друкує значення / формулу в масив комірок. Він відмінно працює для значень, але я "з труднощами вставити формулу, яка не повертає помилку".

Ось відповідний рядок коду

Sheets("Stats").Cells(j, i).Formula = SUM(Sheets("Stats").Cells(1, i),Sheets("Stats").Cells(1, i), A3)

Це альтернативна лінія для простоти, в основному, я хочу мати можливість використовувати обидва виклику.

Дуже дякую

Відповіді:

0 для відповіді № 1

При використанні .Formula, він очікує на рядок, і він повинен бути форматуванням так само, як ви вводите його в саму клітку без VBA (включаючи "=" на початку). Спробуйте

Sheets("Stats").Cells(j, i).Formula = _
"=SUM(" & Sheets("Stats").Cells(1, i).address & _
"," & Sheets("Stats").Cells(1, i).address & ", A3)"

0 для відповіді № 2

Ви можете скористатись With заяву у вашому випадку може значно спростити:

With Sheets("Stats")
.Cells(j, i).Formula = "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"
End With

Примітка: при спробі налагодження, якщо ваша формула правильна, використовуйте Debug.Print.

У вашому випадку, якщо ви покладете i = 2 , а нижче цього коду:

With Sheets("Stats")
Debug.Print "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"

У найближчому вікні ви побачите наступну формулу:

=Sum($B$1,$B$1, A3)