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

Вход

Регистрация

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

 

= Мир MS Excel/Формула разности двух ячеек по строки i в VBA - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Формула разности двух ячеек по строки i в VBA
Spirtuoz Дата: Суббота, 27.09.2025, 22:38 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Добрый день.

Написал такой вот макрос, который добавляет строки после определенного значения "01.12.2025", а потом заполняет эти строки необходимыми значениями. Так вот осталось сделать последний шаг - надо написать формулу разности между двумя ячейками в заранее определенных столбцах по строкам i (см ниже). Никак не могу понять как это сделать... Буду благодарен за помощь.

[vba]
Код
Sub delemty()
Dim i As Long, cod As String

For i = 14 To 390
If Cells(i, 2) = "01.12.2025" Then
cod = Cells(i, 1)
Rows(i + 1).Insert
Cells(i + 1, 2) = "12/01/2026"
Cells(i + 1, 2).NumberFormat = "mmm-yy"
Cells(i + 1, 1).Value = cod
[color=red]Cells(i + 1, 17).FormulaR1C1 = Тут нужна запись типо "=N16-O16", только вместо 16 была строка i+1. То есть макрос должен именно ставить формулу, т.к. создана новая строка.[/color]

End If

Next
End Sub
[/vba]
 
Ответить
СообщениеДобрый день.

Написал такой вот макрос, который добавляет строки после определенного значения "01.12.2025", а потом заполняет эти строки необходимыми значениями. Так вот осталось сделать последний шаг - надо написать формулу разности между двумя ячейками в заранее определенных столбцах по строкам i (см ниже). Никак не могу понять как это сделать... Буду благодарен за помощь.

[vba]
Код
Sub delemty()
Dim i As Long, cod As String

For i = 14 To 390
If Cells(i, 2) = "01.12.2025" Then
cod = Cells(i, 1)
Rows(i + 1).Insert
Cells(i + 1, 2) = "12/01/2026"
Cells(i + 1, 2).NumberFormat = "mmm-yy"
Cells(i + 1, 1).Value = cod
[color=red]Cells(i + 1, 17).FormulaR1C1 = Тут нужна запись типо "=N16-O16", только вместо 16 была строка i+1. То есть макрос должен именно ставить формулу, т.к. создана новая строка.[/color]

End If

Next
End Sub
[/vba]

Автор - Spirtuoz
Дата добавления - 27.09.2025 в 22:38
Pelena Дата: Суббота, 27.09.2025, 22:47 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19571
Репутация: 4646 ±
Замечаний: ±

Excel 365 & Mac Excel
как-то так
[vba]
Код
Cells(i + 1, 17).FormulaR1C1 = "=R" & i+1 & "C14 - R" & i+1 & "C15"
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениекак-то так
[vba]
Код
Cells(i + 1, 17).FormulaR1C1 = "=R" & i+1 & "C14 - R" & i+1 & "C15"
[/vba]

Автор - Pelena
Дата добавления - 27.09.2025 в 22:47
Spirtuoz Дата: Суббота, 27.09.2025, 22:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

Спасибо!

Единственное, получается результат "с долларами" (ячейки Ni и Oi зафиксированы) Есть ли возможность сделать без них?
 
Ответить
СообщениеСпасибо!

Единственное, получается результат "с долларами" (ячейки Ni и Oi зафиксированы) Есть ли возможность сделать без них?

Автор - Spirtuoz
Дата добавления - 27.09.2025 в 22:56
Pelena Дата: Суббота, 27.09.2025, 22:58 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19571
Репутация: 4646 ±
Замечаний: ±

Excel 365 & Mac Excel
варианты
[vba]
Код
Cells(i + 1, 17).FormulaR1C1 = "=RC14 - RC15"
[/vba]
[vba]
Код
Cells(i + 1, 17).FormulaR1C1 = "=RC[-3] - RC[-2]"
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеварианты
[vba]
Код
Cells(i + 1, 17).FormulaR1C1 = "=RC14 - RC15"
[/vba]
[vba]
Код
Cells(i + 1, 17).FormulaR1C1 = "=RC[-3] - RC[-2]"
[/vba]

Автор - Pelena
Дата добавления - 27.09.2025 в 22:58
Nic70y Дата: Понедельник, 29.09.2025, 08:46 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9191
Репутация: 2448 ±
Замечаний: 0% ±

Excel 2010
не могу отредактировать - выкидывает[vba]
Код
Cells(i + 1, 17).Formula = "=N" & i + 1 & "-O" & i + 1
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщениене могу отредактировать - выкидывает[vba]
Код
Cells(i + 1, 17).Formula = "=N" & i + 1 & "-O" & i + 1
[/vba]

Автор - Nic70y
Дата добавления - 29.09.2025 в 08:46
  • Страница 1 из 1
  • 1
Поиск:

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