|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.08.2011, 16:35 | #1 |
Регистрация: 19.12.2010
Сообщений: 8
|
Изменение ячеек при копировании
Здравствуйте!
Столкнулась с такой проблемой. Для расчета различных цен и скидок необходимо было прописать зависимости значений одних ячеек от других, например, если заполнена такая и такая колонка, то такую-то цену считаем так-то, а если такая-то колонка не заполнена - цену пересчитываем по другому. Код реализовала на событие листа Change Private Sub Worksheet_Change(ByVal Target As Range) If ((Target.Row > 15) And (Target.Row < 516) And (Target.Column < 19)) Then If ((Target.Column = 7) And (sell <> 1)) Then If ((Target.Offset(0, 3).Value = 0) And (Target.Offset(0, 2).Value = 0) And (Target.Offset(0, 5).Value = 0) And (Target.Offset(0, 6).Value = 0)) Then totalsell = 1 Target.Offset(0, 1) = Target.Offset(0, 0) * Target.Offset(0, -4) End If If (Target.Offset(0, 3).Value <> 0) Then totalsell = 1 add = 1 Target.Offset(0, 2) = ((Target.Offset(0, 0) / Target.Offset(0, 3)) - 1) * 100 Target.Offset(0, 1) = Target.Offset(0, 0) * Target.Offset(0, -4) End If totalsell = 0 add = 0 End If End Sub Если я ввожу данные построчно - все считается идеально, проблем нет. Но, если я скопирую в колонку 2 и больше строки (остальные колонки должны просчитаться с помощью кода) - тут же выдается ошибка на строке If ((Target.Offset(0, 3).Value = 0) And (Target.Offset(0, 2).Value = 0) And (Target.Offset(0, 5).Value = 0) And (Target.Offset(0, 6).Value = 0)) Then и просчет, естественно, не происходит Не могу понять почему так и как с этим бороться |
29.08.2011, 16:44 | #2 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Код:
Цитата:
1) исправить макрос, предусмотрев возможность множественного изменения ячеек 2) прикрепить файл, чтобы местные спецы заменили вам всё это безобразие на формулы. Я бы рекомендовал 2-й вариант. Впрочем, и с первым вариантом вам вряд ли помогут без прикреплённого файла. |
||
29.08.2011, 16:52 | #3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Если уж так нужен макрос - то выглядеть он должен как-то так:
Код:
|
30.08.2011, 13:51 | #4 |
Регистрация: 19.12.2010
Сообщений: 8
|
Спасибо, исправила макрос, все работает!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Несхождения при копировании файлов | Drobot | Общие вопросы C/C++ | 3 | 21.09.2010 15:39 |
Перезапись при копировании/перемещении | Shouldercannon | Общие вопросы Delphi | 4 | 12.09.2010 02:32 |
Почему ошибка при копировании? | valerij | Microsoft Office Excel | 8 | 02.05.2009 01:49 |
Вопрос о копировании ячеек с данными | gege | Microsoft Office Excel | 4 | 11.11.2008 09:29 |
Ошибка при копировании столбца в Excel! | antonchik | Microsoft Office Excel | 1 | 29.07.2008 07:48 |