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

Вход

Регистрация

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

 

= Мир MS Excel/VBA макрос на изменение значений в ячейках при изменении зна - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
VBA макрос на изменение значений в ячейках при изменении зна
andgrishin Дата: Суббота, 29.01.2022, 17:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Есть некая таблица, в которой в ячейках колонки D размещаются значения суммы ячеек колонки B и C.
Помогите, пожалуйста, написать макрос, чтобы при изменении значений в ячейках колонки D изменялись значения в соответствующих ячейках колонок B и C, причем пропорционально изменениям в колонке D
К сообщению приложен файл: 4787581.xlsx (8.4 Kb)
 
Ответить
СообщениеЕсть некая таблица, в которой в ячейках колонки D размещаются значения суммы ячеек колонки B и C.
Помогите, пожалуйста, написать макрос, чтобы при изменении значений в ячейках колонки D изменялись значения в соответствующих ячейках колонок B и C, причем пропорционально изменениям в колонке D

Автор - andgrishin
Дата добавления - 29.01.2022 в 17:50
bmv98rus Дата: Суббота, 29.01.2022, 18:16 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4115
Репутация: 769 ±
Замечаний: 0% ±

Excel 2013/2016
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Columns(4), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each Cell In Intersect(Columns(4), Target)
    K = Cell.Offset(, -1) / Cell.Offset(, -2)
    Cell.Offset(, -2) = Cell / (1 + K)
    Cell.Offset(, -1) = Cell / (1 + K) * K
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub

[/vba]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Columns(4), Target) Is Nothing Then
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each Cell In Intersect(Columns(4), Target)
    K = Cell.Offset(, -1) / Cell.Offset(, -2)
    Cell.Offset(, -2) = Cell / (1 + K)
    Cell.Offset(, -1) = Cell / (1 + K) * K
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub

[/vba]

Автор - bmv98rus
Дата добавления - 29.01.2022 в 18:16
andgrishin Дата: Суббота, 29.01.2022, 19:13 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Спс большое! Это то что мне надо!!!!
 
Ответить
СообщениеСпс большое! Это то что мне надо!!!!

Автор - andgrishin
Дата добавления - 29.01.2022 в 19:13
  • Страница 1 из 1
  • 1
Поиск:

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