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

Вход

Регистрация

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

 

= Мир MS Excel/Как обнулить ячейку после суммирования - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Как обнулить ячейку после суммирования
light26 Дата: Воскресенье, 19.02.2012, 11:45 | Сообщение № 21
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Quote (Саня)
а ведь ты даже не проверял ничего, а написал этот "код" прям здесь, на форуме...

Чесс слово проверял. Я вставил сначала твой код, где макрос работал только с ячейками А1 и В1, затем, так как мне нужен весь столбец, я и указал как в формулах А:А, В:В. Работать макрос отказывался, но и не ругался. Сейчас попробовал вставить - ругается. Причем так громко... и матом! )))


Я не волшебник. Я только учусь
 
Ответить
Сообщение
Quote (Саня)
а ведь ты даже не проверял ничего, а написал этот "код" прям здесь, на форуме...

Чесс слово проверял. Я вставил сначала твой код, где макрос работал только с ячейками А1 и В1, затем, так как мне нужен весь столбец, я и указал как в формулах А:А, В:В. Работать макрос отказывался, но и не ругался. Сейчас попробовал вставить - ругается. Причем так громко... и матом! )))

Автор - light26
Дата добавления - 19.02.2012 в 11:45
light26 Дата: Воскресенье, 19.02.2012, 12:03 | Сообщение № 22
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Саня, и еще вопрос:
Почему при использовании этого макроса
Quote (Саня)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
Application.EnableEvents = False
Range("B1") = Range("B1") + Range("A1")
Range("A1").ClearContents
Application.EnableEvents = True
End If
End Sub

когда в ячейке А1 я использую ссылку на другую ячейку (=С1) или любую формулу (например, =СУММ(С:С)), значение в В1 не меняется?


Я не волшебник. Я только учусь
 
Ответить
СообщениеСаня, и еще вопрос:
Почему при использовании этого макроса
Quote (Саня)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("A1").Address Then
Application.EnableEvents = False
Range("B1") = Range("B1") + Range("A1")
Range("A1").ClearContents
Application.EnableEvents = True
End If
End Sub

когда в ячейке А1 я использую ссылку на другую ячейку (=С1) или любую формулу (например, =СУММ(С:С)), значение в В1 не меняется?

Автор - light26
Дата добавления - 19.02.2012 в 12:03
Саня Дата: Воскресенье, 19.02.2012, 12:11 | Сообщение № 23
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Quote (light26)
когда в ячейке А1 я использую ссылку на другую ячейку (=С1) или любую формулу (например, =СУММ(С:С)), значение в В1 не меняется?

событие Worksheet_Change не происходит.
 
Ответить
Сообщение
Quote (light26)
когда в ячейке А1 я использую ссылку на другую ячейку (=С1) или любую формулу (например, =СУММ(С:С)), значение в В1 не меняется?

событие Worksheet_Change не происходит.

Автор - Саня
Дата добавления - 19.02.2012 в 12:11
light26 Дата: Воскресенье, 19.02.2012, 12:15 | Сообщение № 24
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Саня, Worksheet_Change - это изменения на рабочем листе. Правильно? тогда почему же не происходят, если я ввожу данные, пусть и в другие ячейки?
или контроль изменений событий на листе ограничен этой строкой: If Target.Address = Range("A1").Address Then ? И, опять же, в ячейке А1 изменения тоже происходят.


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Воскресенье, 19.02.2012, 12:16
 
Ответить
СообщениеСаня, Worksheet_Change - это изменения на рабочем листе. Правильно? тогда почему же не происходят, если я ввожу данные, пусть и в другие ячейки?
или контроль изменений событий на листе ограничен этой строкой: If Target.Address = Range("A1").Address Then ? И, опять же, в ячейке А1 изменения тоже происходят.

Автор - light26
Дата добавления - 19.02.2012 в 12:15
Саня Дата: Воскресенье, 19.02.2012, 13:02 | Сообщение № 25
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Quote (light26)
тогда почему же не происходят, если я ввожу данные, пусть и в другие ячейки?

вот так попробуй
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
msgbox target.address
If Target.Address = Range("A1").Address Then
Application.EnableEvents = False
Range("B1") = Range("B1") + Range("A1")
Range("A1").ClearContents
Application.EnableEvents = True
End If
End Sub
[/vba]

Quote (light26)
И, опять же, в ячейке А1 изменения тоже происходят.

ексель считает по-другому - ячейка не изменилась, просто изменилось значение, которое возвратила формула (формула тоже не изменилась)
а вот если ты просто зайдешь в ячейку, ничего не изменишь и нажмешь Enter, тогда ексель посчитает, что с ячейкой произошли изменения...

с событиями не так просто, а иногда, совсем не очевидно
почитай лучше книжки, больше пользы.
 
Ответить
Сообщение
Quote (light26)
тогда почему же не происходят, если я ввожу данные, пусть и в другие ячейки?

вот так попробуй
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
msgbox target.address
If Target.Address = Range("A1").Address Then
Application.EnableEvents = False
Range("B1") = Range("B1") + Range("A1")
Range("A1").ClearContents
Application.EnableEvents = True
End If
End Sub
[/vba]

Quote (light26)
И, опять же, в ячейке А1 изменения тоже происходят.

ексель считает по-другому - ячейка не изменилась, просто изменилось значение, которое возвратила формула (формула тоже не изменилась)
а вот если ты просто зайдешь в ячейку, ничего не изменишь и нажмешь Enter, тогда ексель посчитает, что с ячейкой произошли изменения...

с событиями не так просто, а иногда, совсем не очевидно
почитай лучше книжки, больше пользы.

Автор - Саня
Дата добавления - 19.02.2012 в 13:02
light26 Дата: Понедельник, 20.02.2012, 22:35 | Сообщение № 26
Группа: Друзья
Ранг: Старожил
Сообщений: 1351
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Цитата (Саня)
вот так попробуй


Ну, попробовал. Постоянно окно вылазит с адресом ячейки. Виной тому, как я понял, msgbox target.address.


Я не волшебник. Я только учусь
 
Ответить
Сообщение
Цитата (Саня)
вот так попробуй


Ну, попробовал. Постоянно окно вылазит с адресом ячейки. Виной тому, как я понял, msgbox target.address.

Автор - light26
Дата добавления - 20.02.2012 в 22:35
Ivan2905 Дата: Суббота, 25.05.2013, 21:55 | Сообщение № 27
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Привет) Ребят помогите, пожалуйста. Нужно Удалить все нечетные элементы массива, расположенные левее максимального
Нашел 2 макроса, но собрать один рабочий не могу


[admin] Ivan2905, оформляйте длинные коды тегами VBA и спойлера, а сам код, копируйте из VBE при русской раскладке клавиатуры!
Так как Ваш вопрос не имеет отношения к данной теме - эту тему закрываю[/admin]
 
Ответить
СообщениеПривет) Ребят помогите, пожалуйста. Нужно Удалить все нечетные элементы массива, расположенные левее максимального
Нашел 2 макроса, но собрать один рабочий не могу


[admin] Ivan2905, оформляйте длинные коды тегами VBA и спойлера, а сам код, копируйте из VBE при русской раскладке клавиатуры!
Так как Ваш вопрос не имеет отношения к данной теме - эту тему закрываю[/admin]

Автор - Ivan2905
Дата добавления - 25.05.2013 в 21:55
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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