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

Вход

Регистрация

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

 

= Мир MS Excel/Изменение значения в столбцах при условии - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение значения в столбцах при условии (Макросы/Sub)
Изменение значения в столбцах при условии
mulbnat Дата: Суббота, 07.01.2023, 22:43 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер! Есть таблица, в которую ввожу данные. Если выбираю значение в столбце В "Расход", то вводимая сумма в столбце D должна умножаться на -1.
На форуме нашла подобный код, но он применим для одной строки, а мне нужно для всей таблицы,строк на 1000.
If Target.Address = "$D$3" And Range("B3") = "Расход" Then
Спасибо !
К сообщению приложен файл: 9988.xlsm (11.8 Kb)
 
Ответить
СообщениеДобрый вечер! Есть таблица, в которую ввожу данные. Если выбираю значение в столбце В "Расход", то вводимая сумма в столбце D должна умножаться на -1.
На форуме нашла подобный код, но он применим для одной строки, а мне нужно для всей таблицы,строк на 1000.
If Target.Address = "$D$3" And Range("B3") = "Расход" Then
Спасибо !

Автор - mulbnat
Дата добавления - 07.01.2023 в 22:43
gling Дата: Суббота, 07.01.2023, 23:14 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2523
Репутация: 678 ±
Замечаний: 0% ±

2010
Здравствуйте. Попробуйте так[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
'Application.EnableEvents = False
If Not Intersect(Target, Range("B3:B1000")) Is Nothing Then
    If Target.Value = "Расход" Then
        Target(1, 3) = -Abs(Target(1, 3))
    Else
        Target(1, 3) = Abs(Target(1, 3))
    End If
End If
'Application.EnableEvents = True
End Sub
[/vba]


ЯД-41001506838083
 
Ответить
СообщениеЗдравствуйте. Попробуйте так[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
'Application.EnableEvents = False
If Not Intersect(Target, Range("B3:B1000")) Is Nothing Then
    If Target.Value = "Расход" Then
        Target(1, 3) = -Abs(Target(1, 3))
    Else
        Target(1, 3) = Abs(Target(1, 3))
    End If
End If
'Application.EnableEvents = True
End Sub
[/vba]

Автор - gling
Дата добавления - 07.01.2023 в 23:14
mulbnat Дата: Воскресенье, 08.01.2023, 00:15 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
gling, Большое Вас СПАСИБО !! Суть поняла yes Подкорректировала для применения в своей рабочей таблице и новый учетный год начинаю с обновкой ))
 
Ответить
Сообщениеgling, Большое Вас СПАСИБО !! Суть поняла yes Подкорректировала для применения в своей рабочей таблице и новый учетный год начинаю с обновкой ))

Автор - mulbnat
Дата добавления - 08.01.2023 в 00:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение значения в столбцах при условии (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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