Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Корректировка формулы в макросе при добавлении строчки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Корректировка формулы в макросе при добавлении строчки
temnoo Дата: Четверг, 21.03.2019, 16:51 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 57
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Есть формула в макросе...
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)"
[/vba]
...но при нажатии на кнопку "добавить строчки" (сейчас три строчки) соответственно добавляется четвертая строчка, и формула в макросе уже должна быть такого вида
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
[/vba],
далее добавляем пятую строчку и формула уже
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
[/vba]
т.е. нужно что бы увеличивались именно эта цифра каждый раз на -1.
К сообщению приложен файл: 1-9_-.xlsm (39.1 Kb)


Сообщение отредактировал temnoo - Четверг, 21.03.2019, 17:16
 
Ответить
СообщениеЕсть формула в макросе...
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R[-3]C:R[-1]C)"
[/vba]
...но при нажатии на кнопку "добавить строчки" (сейчас три строчки) соответственно добавляется четвертая строчка, и формула в макросе уже должна быть такого вида
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
[/vba],
далее добавляем пятую строчку и формула уже
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
[/vba]
т.е. нужно что бы увеличивались именно эта цифра каждый раз на -1.

Автор - temnoo
Дата добавления - 21.03.2019 в 16:51
_Boroda_ Дата: Четверг, 21.03.2019, 17:01 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
- Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение- Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума

Автор - _Boroda_
Дата добавления - 21.03.2019 в 17:01
_Boroda_ Дата: Четверг, 21.03.2019, 17:07 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Допустим, если строка минус 3 - это строка 2, то
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R2C:R[-1]C)"
[/vba]

А чтобы "Допустим, ..." не было, нужно было файл-пример приложить


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДопустим, если строка минус 3 - это строка 2, то
[vba]
Код
Range("Итоги1").FormulaR1C1 = "=SUM(R2C:R[-1]C)"
[/vba]

А чтобы "Допустим, ..." не было, нужно было файл-пример приложить

Автор - _Boroda_
Дата добавления - 21.03.2019 в 17:07
temnoo Дата: Четверг, 21.03.2019, 17:18 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 57
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
файл-пример


Я думал у меня более общий вопрос. Файл прикрепил. Минус 3 это название ячейки относительно ячейки с итоговой суммой. И вот этот диапазон должен постоянно увеличиваться/тянуться за ячейками.
 
Ответить
Сообщение
файл-пример


Я думал у меня более общий вопрос. Файл прикрепил. Минус 3 это название ячейки относительно ячейки с итоговой суммой. И вот этот диапазон должен постоянно увеличиваться/тянуться за ячейками.

Автор - temnoo
Дата добавления - 21.03.2019 в 17:18
_Boroda_ Дата: Четверг, 21.03.2019, 18:11 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Такой вариант
[vba]
Код
Sub tt()
    Dim ar
    n_ = 4
    ReDim ar(n_)
    ar(0) = ""
    ar(1) = 1
    ar(2) = 2
    ar(3) = 3
    ar(4) = 4
    For i = 0 To n_
        With Range("Итоги" & ar(i))
            r_ = .Row
            f_ = .Formula
            f1_ = .FormulaR1C1
            Rows(r_ - 1).Copy
            Rows(r_).Insert Shift:=xlDown
            .Formula = Replace(f_, r_ - 1, r_)
        End With
    Next i
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТакой вариант
[vba]
Код
Sub tt()
    Dim ar
    n_ = 4
    ReDim ar(n_)
    ar(0) = ""
    ar(1) = 1
    ar(2) = 2
    ar(3) = 3
    ar(4) = 4
    For i = 0 To n_
        With Range("Итоги" & ar(i))
            r_ = .Row
            f_ = .Formula
            f1_ = .FormulaR1C1
            Rows(r_ - 1).Copy
            Rows(r_).Insert Shift:=xlDown
            .Formula = Replace(f_, r_ - 1, r_)
        End With
    Next i
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 21.03.2019 в 18:11
temnoo Дата: Пятница, 22.03.2019, 09:02 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 57
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Такой вариант


Отлично подходит. Спасибо!
 
Ответить
Сообщение
Такой вариант


Отлично подходит. Спасибо!

Автор - temnoo
Дата добавления - 22.03.2019 в 09:02
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!