#vba #excel
#vba #excel
Вопрос:
Я пытаюсь включить формулу SUMIF в свой макрос. Код в Excel выглядит следующим образом: =SUMIF(‘Проценты WSO’ H2:H46, ‘20140618 кредитов’ D10, ‘Проценты WSO’ S2: S46)
Я установил свой dim
as i и lastrow, как integer
я уже установил, чтобы я мог найти последнюю строку столбца и продолжить цикл до последней строки. Я также использовал
Sheets("20140618 Loans").Select
Range("A10").Select
Selection.End(xlDown).Select
lastrow = ActiveCell.Row
чтобы найти последнюю строку, заполненную текстом.
Это то, что у меня есть до сих пор:
Range("W10").select
For i = 10 to lastrow
Формула SUMIF будет здесь
Next i
Итак, в основном, что я пытаюсь сделать, это использовать формулу SUMIF в моем макросе, чтобы начать с W10 и продолжать вычислять формулу SUMIF, пока она не достигнет последней строки. Спасибо за помощь и не стесняйтесь задавать любые вопросы.
Комментарии:
1. вы хотите найти последнюю ячейку в заполненной строке или скопировать formaula в последнюю ячейку
2. последняя заполненная ячейка в строке
Ответ №1:
Для задания формулы можно использовать Formula
свойство Range
объекта.
Range("W" amp; i).Formula = "=SUMIF('WSO Interest'!H2:H" amp; lastrow amp; _
", '20140618 Loans'!D10, 'WSO Interest'!S2:S" amp; lastrow amp; ")"
amp;
Оператор используется для объединения строк вместе.
Комментарии:
1.Привет, спасибо за ответ. В итоге все идет вниз, но я хочу, чтобы он остановился на последней строке с текстом. Я сделал
Range("a1").Select
Selection.End(xlDown).Select
lastrow = ActiveCell.Row
, чтобы найти последнюю строку на листе с текстом в ней. Я хочу, чтобы он остановился на последней строке с текстом в ней и перешел к следующему шагу. Спасибо.2. Я уверен, что вы можете понять, как использовать оператор if 🙂
Ответ №2:
Dim r As Range
Set r = Range("W10", Range("W10").End(xlDown)) --Change it per requirement .....
For Each cell In r
Debug.Print cell.Address --Your Code goes here I guess
Next