Автоматическая вставка строк с расчетом
plohish
Дата: Пятница, 20.02.2015, 13:47 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Добрый день. Ребят каким должен быть код на VBA если нужно чтоб при записи в ячейку C1 числа меньшего т.е C1<B1 то вставляется пустая строка ниже, ячейка в которой под значением 5000 т.е в ячейке B2 имела уже разность значений B1-С1 и так далее пока число в пустой ячейке не запишется отрицательным. И еще момент если B1=C2 то строка не вставляется. Средствами формул это не реализовать.... Заранее благодарю.
Добрый день. Ребят каким должен быть код на VBA если нужно чтоб при записи в ячейку C1 числа меньшего т.е C1<B1 то вставляется пустая строка ниже, ячейка в которой под значением 5000 т.е в ячейке B2 имела уже разность значений B1-С1 и так далее пока число в пустой ячейке не запишется отрицательным. И еще момент если B1=C2 то строка не вставляется. Средствами формул это не реализовать.... Заранее благодарю. plohish
Спасибки
Ответить
Сообщение Добрый день. Ребят каким должен быть код на VBA если нужно чтоб при записи в ячейку C1 числа меньшего т.е C1<B1 то вставляется пустая строка ниже, ячейка в которой под значением 5000 т.е в ячейке B2 имела уже разность значений B1-С1 и так далее пока число в пустой ячейке не запишется отрицательным. И еще момент если B1=C2 то строка не вставляется. Средствами формул это не реализовать.... Заранее благодарю. Автор - plohish Дата добавления - 20.02.2015 в 13:47
Manyasha
Дата: Пятница, 20.02.2015, 14:27 |
Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
Так подойдет? (не знала что ставить в столбец С при вставке новой строчки - поставила "0", в коде можете поменять на нужное)
Так подойдет? (не знала что ставить в столбец С при вставке новой строчки - поставила "0", в коде можете поменять на нужное) Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение Так подойдет? (не знала что ставить в столбец С при вставке новой строчки - поставила "0", в коде можете поменять на нужное) Автор - Manyasha Дата добавления - 20.02.2015 в 14:27
plohish
Дата: Пятница, 20.02.2015, 14:46 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Да похоже на правду. только в новой строке если число в B2 так же больше то снова вставляется строка, и так для всех строк. Возможно?
Да похоже на правду. только в новой строке если число в B2 так же больше то снова вставляется строка, и так для всех строк. Возможно? plohish
Спасибки
Ответить
Сообщение Да похоже на правду. только в новой строке если число в B2 так же больше то снова вставляется строка, и так для всех строк. Возможно? Автор - plohish Дата добавления - 20.02.2015 в 14:46
plohish
Дата: Пятница, 20.02.2015, 15:17 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Вставка должна происходить из столбца J
Вставка должна происходить из столбца J plohish
Спасибки
Ответить
Сообщение Вставка должна происходить из столбца J Автор - plohish Дата добавления - 20.02.2015 в 15:17
Manyasha
Дата: Пятница, 20.02.2015, 15:29 |
Сообщение № 5
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
Смотрите, так? Ошиблась: верните вместо строчки [vba][/vba] i=2
Смотрите, так? Ошиблась: верните вместо строчки [vba][/vba] i=2 Manyasha
ЯД: 410013299366744 WM: R193491431804
Сообщение отредактировал Manyasha - Пятница, 20.02.2015, 15:30
Ответить
Сообщение Смотрите, так? Ошиблась: верните вместо строчки [vba][/vba] i=2 Автор - Manyasha Дата добавления - 20.02.2015 в 15:29
plohish
Дата: Пятница, 20.02.2015, 15:37 |
Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Да уже вырисовывается (Аленький цветок), но куда деваются цифры после вставки строки? И данные которые приходится вводить т.е в каждой ячейке появляющейся строки столбца C можно брать к примеру с другого листа скажем из столбца A:A Спасибо за помощь!!!!!!!!!!!!!
Да уже вырисовывается (Аленький цветок), но куда деваются цифры после вставки строки? И данные которые приходится вводить т.е в каждой ячейке появляющейся строки столбца C можно брать к примеру с другого листа скажем из столбца A:A Спасибо за помощь!!!!!!!!!!!!! plohish
Спасибки
Ответить
Сообщение Да уже вырисовывается (Аленький цветок), но куда деваются цифры после вставки строки? И данные которые приходится вводить т.е в каждой ячейке появляющейся строки столбца C можно брать к примеру с другого листа скажем из столбца A:A Спасибо за помощь!!!!!!!!!!!!! Автор - plohish Дата добавления - 20.02.2015 в 15:37
plohish
Дата: Пятница, 20.02.2015, 15:39 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Очень уж нужно, Впрочем как всегда и Всем, Да!?
Очень уж нужно, Впрочем как всегда и Всем, Да!? plohish
Спасибки
Ответить
Сообщение Очень уж нужно, Впрочем как всегда и Всем, Да!? Автор - plohish Дата добавления - 20.02.2015 в 15:39
plohish
Дата: Пятница, 20.02.2015, 15:50 |
Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Нет вычисления заканчиваютя вместе со вставкой строк если значение разницы между числами будет отрицательным это контролирует пользователь или сделать так если оно отриц. то вставляется в пустую строку и все. Т. е это окончательный расчет, затем повторить все для других строк А:А в которых стоит дата
Нет вычисления заканчиваютя вместе со вставкой строк если значение разницы между числами будет отрицательным это контролирует пользователь или сделать так если оно отриц. то вставляется в пустую строку и все. Т. е это окончательный расчет, затем повторить все для других строк А:А в которых стоит дата plohish
Спасибки
Ответить
Сообщение Нет вычисления заканчиваютя вместе со вставкой строк если значение разницы между числами будет отрицательным это контролирует пользователь или сделать так если оно отриц. то вставляется в пустую строку и все. Т. е это окончательный расчет, затем повторить все для других строк А:А в которых стоит дата Автор - plohish Дата добавления - 20.02.2015 в 15:50
plohish
Дата: Пятница, 20.02.2015, 15:52 |
Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Получается что отриц. значение встает на строку Июня. А в этой строке будет проделыватся тоже самое.
Получается что отриц. значение встает на строку Июня. А в этой строке будет проделыватся тоже самое. plohish
Спасибки
Ответить
Сообщение Получается что отриц. значение встает на строку Июня. А в этой строке будет проделыватся тоже самое. Автор - plohish Дата добавления - 20.02.2015 в 15:52
Manyasha
Дата: Пятница, 20.02.2015, 16:27 |
Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
Может тогда лучше не отслеживать изменения, а запускать макрос для пересчета? (кнопка Insert)
Может тогда лучше не отслеживать изменения, а запускать макрос для пересчета? (кнопка Insert) Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение Может тогда лучше не отслеживать изменения, а запускать макрос для пересчета? (кнопка Insert) Автор - Manyasha Дата добавления - 20.02.2015 в 16:27
plohish
Дата: Пятница, 20.02.2015, 16:39 |
Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
нет вот как должно быть!
Спасибки
Ответить
Сообщение нет вот как должно быть! Автор - plohish Дата добавления - 20.02.2015 в 16:39
Manyasha
Дата: Пятница, 20.02.2015, 17:13 |
Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
См. файл. При ручной вставке значений в столбец С все работает. Если нужно, чтобы значения вставлялись автоматически, то напишите от куда брать данные для "первых" значений столбца В (напротив строчек июнь, июль и тд) и как должны быть расположены значения для столбца С (в один столбик или для каждого месяца отдельный столбик)
См. файл. При ручной вставке значений в столбец С все работает. Если нужно, чтобы значения вставлялись автоматически, то напишите от куда брать данные для "первых" значений столбца В (напротив строчек июнь, июль и тд) и как должны быть расположены значения для столбца С (в один столбик или для каждого месяца отдельный столбик) Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение См. файл. При ручной вставке значений в столбец С все работает. Если нужно, чтобы значения вставлялись автоматически, то напишите от куда брать данные для "первых" значений столбца В (напротив строчек июнь, июль и тд) и как должны быть расположены значения для столбца С (в один столбик или для каждого месяца отдельный столбик) Автор - Manyasha Дата добавления - 20.02.2015 в 17:13
plohish
Дата: Пятница, 20.02.2015, 18:09 |
Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
вот теперь все так как надо, единственное если суммы в столбцах B b c одинаковые то строка не вставляется, но и так вроде хорошо. Буду тестировать. СПАСИБО ОГРОМНОЕ.
вот теперь все так как надо, единственное если суммы в столбцах B b c одинаковые то строка не вставляется, но и так вроде хорошо. Буду тестировать. СПАСИБО ОГРОМНОЕ. plohish
Спасибки
Ответить
Сообщение вот теперь все так как надо, единственное если суммы в столбцах B b c одинаковые то строка не вставляется, но и так вроде хорошо. Буду тестировать. СПАСИБО ОГРОМНОЕ. Автор - plohish Дата добавления - 20.02.2015 в 18:09
Manyasha
Дата: Пятница, 20.02.2015, 19:05 |
Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
Забыла комментарии убрать в [vba]Код
'If Cells(Target.Row, 3).Value < Cells(Target.Row, 2).Value Then
[/vba]Верните это условие, тогда строка не будет вставляться, если С>=B. Или так (c выводом первым отрицательным числом): [vba]Код
'If Cells(Target.Row, 3).Value <> Cells(Target.Row, 2).Value Then
[/vba] [p.s.]И про [vba][/vba]не забудьте!
Забыла комментарии убрать в [vba]Код
'If Cells(Target.Row, 3).Value < Cells(Target.Row, 2).Value Then
[/vba]Верните это условие, тогда строка не будет вставляться, если С>=B. Или так (c выводом первым отрицательным числом): [vba]Код
'If Cells(Target.Row, 3).Value <> Cells(Target.Row, 2).Value Then
[/vba] [p.s.]И про [vba][/vba]не забудьте! Manyasha
ЯД: 410013299366744 WM: R193491431804
Сообщение отредактировал Manyasha - Пятница, 20.02.2015, 19:05
Ответить
Сообщение Забыла комментарии убрать в [vba]Код
'If Cells(Target.Row, 3).Value < Cells(Target.Row, 2).Value Then
[/vba]Верните это условие, тогда строка не будет вставляться, если С>=B. Или так (c выводом первым отрицательным числом): [vba]Код
'If Cells(Target.Row, 3).Value <> Cells(Target.Row, 2).Value Then
[/vba] [p.s.]И про [vba][/vba]не забудьте! Автор - Manyasha Дата добавления - 20.02.2015 в 19:05
plohish
Дата: Суббота, 21.02.2015, 09:28 |
Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Что нужно изменить в коде чтоб адаптировать его к столбцам G и H соответственно B и C, запись начинается с 5 строки?
Что нужно изменить в коде чтоб адаптировать его к столбцам G и H соответственно B и C, запись начинается с 5 строки? plohish
Спасибки
Ответить
Сообщение Что нужно изменить в коде чтоб адаптировать его к столбцам G и H соответственно B и C, запись начинается с 5 строки? Автор - plohish Дата добавления - 21.02.2015 в 09:28
Manyasha
Дата: Воскресенье, 22.02.2015, 11:10 |
Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
plohish , здравствуйте. Извините за долгий ответ. Смотрите в модуле листа на строчку [vba]Код
If Target.Column = 3 Then
[/vba]3 - номер колонки, в которой отслеживаем изменения, соответственно, если, вместо колонки С будет Н, то 3 нужно изменить на 8. Для номера строки (.Row) аналогично условие, у Вас будет что-то типа: [vba]Код
If Target.Column = 3 And Target.Row > 4 then
[/vba]
plohish , здравствуйте. Извините за долгий ответ. Смотрите в модуле листа на строчку [vba]Код
If Target.Column = 3 Then
[/vba]3 - номер колонки, в которой отслеживаем изменения, соответственно, если, вместо колонки С будет Н, то 3 нужно изменить на 8. Для номера строки (.Row) аналогично условие, у Вас будет что-то типа: [vba]Код
If Target.Column = 3 And Target.Row > 4 then
[/vba]Manyasha
ЯД: 410013299366744 WM: R193491431804
Сообщение отредактировал Manyasha - Воскресенье, 22.02.2015, 11:13
Ответить
Сообщение plohish , здравствуйте. Извините за долгий ответ. Смотрите в модуле листа на строчку [vba]Код
If Target.Column = 3 Then
[/vba]3 - номер колонки, в которой отслеживаем изменения, соответственно, если, вместо колонки С будет Н, то 3 нужно изменить на 8. Для номера строки (.Row) аналогично условие, у Вас будет что-то типа: [vba]Код
If Target.Column = 3 And Target.Row > 4 then
[/vba]Автор - Manyasha Дата добавления - 22.02.2015 в 11:10
plohish
Дата: Воскресенье, 22.02.2015, 12:04 |
Сообщение № 17
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
Большое Спасибо. не дождавшись ответа, это к лучшему !!! Я разобрался сам. ОГРОМНОЕ СПАСИБО за все и за ответ в том числе с Уважением PLOHISH
Большое Спасибо. не дождавшись ответа, это к лучшему !!! Я разобрался сам. ОГРОМНОЕ СПАСИБО за все и за ответ в том числе с Уважением PLOHISH plohish
Спасибки
Ответить
Сообщение Большое Спасибо. не дождавшись ответа, это к лучшему !!! Я разобрался сам. ОГРОМНОЕ СПАСИБО за все и за ответ в том числе с Уважением PLOHISH Автор - plohish Дата добавления - 22.02.2015 в 12:04
plohish
Дата: Воскресенье, 22.02.2015, 12:46 |
Сообщение № 18
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
If Target.Column = 3 Then If Target.Row > 4 Then Вот так должно быть и End If еще раз
If Target.Column = 3 Then If Target.Row > 4 Then Вот так должно быть и End If еще раз plohish
Спасибки
Ответить
Сообщение If Target.Column = 3 Then If Target.Row > 4 Then Вот так должно быть и End If еще раз Автор - plohish Дата добавления - 22.02.2015 в 12:46
Manyasha
Дата: Воскресенье, 22.02.2015, 13:14 |
Сообщение № 19
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация:
898
±
Замечаний:
0% ±
Excel 2010, 2016
Да, или можно одной строчкой, как я выше написала [vba]Код
If Target.Column = 3 And Target.Row > 4 then ... End If
[/vba]
Да, или можно одной строчкой, как я выше написала [vba]Код
If Target.Column = 3 And Target.Row > 4 then ... End If
[/vba] Manyasha
ЯД: 410013299366744 WM: R193491431804
Ответить
Сообщение Да, или можно одной строчкой, как я выше написала [vba]Код
If Target.Column = 3 And Target.Row > 4 then ... End If
[/vba] Автор - Manyasha Дата добавления - 22.02.2015 в 13:14
plohish
Дата: Воскресенье, 22.02.2015, 16:36 |
Сообщение № 20
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация:
1
±
Замечаний:
60% ±
Excel 2010
СПАСИБО
Спасибки
Ответить
Сообщение СПАСИБО Автор - plohish Дата добавления - 22.02.2015 в 16:36