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

Вход

Регистрация

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

 

= Мир MS Excel/Добавить новые данные расчета к уже существующим - Мир MS Excel

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

Excel 2007;2010;2016
Доброго всем времечка!!!! в продолжении темы. Все работает прекрасно, внедрено и размножено. Дополнительно возник один вопросик. а что добавить в код, что бы при добавлении данных в лист план в листе Состав считалось только это добавление? а все ранее посчитанные данные оставались неизменными? То есть добавляем цифирку в лист план , к примеру на 20е число. нажимаем кнопку. и к имеющимся уже данным в диапазоне C1:AG30 листа Состав добавляется только расчет вновь добавленной цифры на листе План.


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеДоброго всем времечка!!!! в продолжении темы. Все работает прекрасно, внедрено и размножено. Дополнительно возник один вопросик. а что добавить в код, что бы при добавлении данных в лист план в листе Состав считалось только это добавление? а все ранее посчитанные данные оставались неизменными? То есть добавляем цифирку в лист план , к примеру на 20е число. нажимаем кнопку. и к имеющимся уже данным в диапазоне C1:AG30 листа Состав добавляется только расчет вновь добавленной цифры на листе План.

Автор - китин
Дата добавления - 31.10.2016 в 08:48
_Boroda_ Дата: Понедельник, 31.10.2016, 09:37 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Игорь, на мой взгляд вот это
при добавлении данных в лист план в листе Состав считалось только это добавление
Если ты одно значение в Плане поменял, то его запомнить несложно, а вот если ты их много поменял, да еще не сразу, а в течение дня, а только потом кнопку нажал ... Ведь эти поменяшки нужно где-то (например, на суперскрытом листе) запоминать.
Может просто облегчить твой код?
Например, вот так (основное изменение в том, что мы не пишем формулу на 1000 строк, а сначала вычисляем r1_ - кол-во заполненных строк в Плане). Еще поубирал у тебя ненужные селекты и дистинейшены и CutCopyMode в нужные места поставил.

Сознательно не стал убирать СУММПРОИЗВ (хотя без них и лучше было бы), чтобы тебе пока, на первых порах, попонятнее было бы.
К сообщению приложен файл: 3547094_1.xlsm (68.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИгорь, на мой взгляд вот это
при добавлении данных в лист план в листе Состав считалось только это добавление
Если ты одно значение в Плане поменял, то его запомнить несложно, а вот если ты их много поменял, да еще не сразу, а в течение дня, а только потом кнопку нажал ... Ведь эти поменяшки нужно где-то (например, на суперскрытом листе) запоминать.
Может просто облегчить твой код?
Например, вот так (основное изменение в том, что мы не пишем формулу на 1000 строк, а сначала вычисляем r1_ - кол-во заполненных строк в Плане). Еще поубирал у тебя ненужные селекты и дистинейшены и CutCopyMode в нужные места поставил.

Сознательно не стал убирать СУММПРОИЗВ (хотя без них и лучше было бы), чтобы тебе пока, на первых порах, попонятнее было бы.

Автор - _Boroda_
Дата добавления - 31.10.2016 в 09:37
китин Дата: Понедельник, 31.10.2016, 12:19 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Саша спасибо. Работает моментально, но малость не то.
и к имеющимся уже данным в диапазоне C1:AG30 листа Состав добавляется только расчет вновь добавленной цифры на листе План.

хотелось бы, что бы все старые цифры на листе Состав оставались неизменными.старые данные на листе состав могут изменять вручную. хотелось бы что бы эти цифры не менялись, а добавлялся бы только пересчет вноыь добавленных цифр на лист План


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеСаша спасибо. Работает моментально, но малость не то.
и к имеющимся уже данным в диапазоне C1:AG30 листа Состав добавляется только расчет вновь добавленной цифры на листе План.

хотелось бы, что бы все старые цифры на листе Состав оставались неизменными.старые данные на листе состав могут изменять вручную. хотелось бы что бы эти цифры не менялись, а добавлялся бы только пересчет вноыь добавленных цифр на лист План

Автор - китин
Дата добавления - 31.10.2016 в 12:19
китин Дата: Среда, 02.11.2016, 07:13 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
актуально


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеактуально

Автор - китин
Дата добавления - 02.11.2016 в 07:13
китин Дата: Четверг, 03.11.2016, 08:04 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Доброго всем времени. Приложил новый файлик. Что надо добавить в код, что бы при добавлении данных на лист ноябрь_компл формула бы пересчитывала только добавленные данные ,оставив все предидущие данные на листе Расход неизменными
К сообщению приложен файл: __2.xlsm (46.1 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеДоброго всем времени. Приложил новый файлик. Что надо добавить в код, что бы при добавлении данных на лист ноябрь_компл формула бы пересчитывала только добавленные данные ,оставив все предидущие данные на листе Расход неизменными

Автор - китин
Дата добавления - 03.11.2016 в 08:04
_Boroda_ Дата: Четверг, 03.11.2016, 11:01 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Как-то так примерно.
Не оптимизировал ничего, на работе отвлекают.
К сообщению приложен файл: _2_3.xlsm (50.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКак-то так примерно.
Не оптимизировал ничего, на работе отвлекают.

Автор - _Boroda_
Дата добавления - 03.11.2016 в 11:01
китин Дата: Четверг, 03.11.2016, 11:53 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Саша ты ГЕНИЙ !!! спасибо !!!! hands hands hands


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеСаша ты ГЕНИЙ !!! спасибо !!!! hands hands hands

Автор - китин
Дата добавления - 03.11.2016 в 11:53
китин Дата: Воскресенье, 06.11.2016, 11:20 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Доброго всем дня. Споткнулся в рабочем файле с такой проблемой:

две штуки [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
[/vba]насколько я понял этим объявляются две одинаковые переменные. а как уйти от этого?
К сообщению приложен файл: 3853257.gif (38.7 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Воскресенье, 06.11.2016, 11:24
 
Ответить
СообщениеДоброго всем дня. Споткнулся в рабочем файле с такой проблемой:

две штуки [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
[/vba]насколько я понял этим объявляются две одинаковые переменные. а как уйти от этого?

Автор - китин
Дата добавления - 06.11.2016 в 11:20
Wasilich Дата: Воскресенье, 06.11.2016, 12:38 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
две штуки
Private Sub Worksheet_Change(ByVal Target As Range)
Придется в "одной штуке" указывать разные диапазоны обработки или разные условия или что там еще. :)
Типа
[vba]
Код
  If Not Application.Intersect(Range("A1:B20"), Target) Is Nothing Then
     КОД
  End If
  If Not Application.Intersect(Range("C1:E20"), Target) Is Nothing Then
     КОД
  End If
[/vba]


Сообщение отредактировал Wasilich - Воскресенье, 06.11.2016, 12:46
 
Ответить
Сообщение
две штуки
Private Sub Worksheet_Change(ByVal Target As Range)
Придется в "одной штуке" указывать разные диапазоны обработки или разные условия или что там еще. :)
Типа
[vba]
Код
  If Not Application.Intersect(Range("A1:B20"), Target) Is Nothing Then
     КОД
  End If
  If Not Application.Intersect(Range("C1:E20"), Target) Is Nothing Then
     КОД
  End If
[/vba]

Автор - Wasilich
Дата добавления - 06.11.2016 в 12:38
_Boroda_ Дата: Воскресенье, 06.11.2016, 13:24 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
:D :D :D :D :D
Игорь, ты ж не в мусульманской стране живешь? Пока, по крайней мере.
Жена должна быть одна. Но (если по этическим, физиологическим, экономическим и другим соображениям ты допускаешь такой расклад) любовниц, которым ты говоришь, что "Да ты ж почти жена, вот видишь, сейчас же я с тобой" - их может быть много. Теоретически. В понедельник у одной, во вторник у другой ...
Вот и пиши Worksheet_Change с условиями, как Василич написал - если пересечение (Intersect) изменяемого диапазона (Target) и диапазона A1:B20 не (Not) пусто (Is Nothing), то сейчас понедельник и ты у Наташи (условно) - КОД_1.
А если первое условие не выполняется (не понедельник сегодня), то проверяем вторник (диапазон C1:E20) и, если таки вторник, то идешь к Юле (КОД_2).
Если и не вторник, то никуда не идешь, сидишь дома и пиво пьёшь.
Условия могут быть не обязательно с Intersect, могут быть любые другие, типа If Range("D4")=7 Then - это если независимо от дня недели тебе позвонила Виолетта и сказала, что внезапно очень-очень соскучилась.
Но заметь - в любом случае у тебя или одна "жена", или ни одной. Так и события листа и книги - оно в коде может быть только одно, а в нем уже несколько условий (если нужно).
:D :D :D :D :D


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение:D :D :D :D :D
Игорь, ты ж не в мусульманской стране живешь? Пока, по крайней мере.
Жена должна быть одна. Но (если по этическим, физиологическим, экономическим и другим соображениям ты допускаешь такой расклад) любовниц, которым ты говоришь, что "Да ты ж почти жена, вот видишь, сейчас же я с тобой" - их может быть много. Теоретически. В понедельник у одной, во вторник у другой ...
Вот и пиши Worksheet_Change с условиями, как Василич написал - если пересечение (Intersect) изменяемого диапазона (Target) и диапазона A1:B20 не (Not) пусто (Is Nothing), то сейчас понедельник и ты у Наташи (условно) - КОД_1.
А если первое условие не выполняется (не понедельник сегодня), то проверяем вторник (диапазон C1:E20) и, если таки вторник, то идешь к Юле (КОД_2).
Если и не вторник, то никуда не идешь, сидишь дома и пиво пьёшь.
Условия могут быть не обязательно с Intersect, могут быть любые другие, типа If Range("D4")=7 Then - это если независимо от дня недели тебе позвонила Виолетта и сказала, что внезапно очень-очень соскучилась.
Но заметь - в любом случае у тебя или одна "жена", или ни одной. Так и события листа и книги - оно в коде может быть только одно, а в нем уже несколько условий (если нужно).
:D :D :D :D :D

Автор - _Boroda_
Дата добавления - 06.11.2016 в 13:24
китин Дата: Вторник, 08.11.2016, 08:07 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Саша спасибо. Появилась новая проблема


не могу понть що це таке?
[p.s.]по F8 в ручном режиме считает только влет :'(
К сообщению приложен файл: 0556703.gif (18.7 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Вторник, 08.11.2016, 08:12
 
Ответить
СообщениеСаша спасибо. Появилась новая проблема


не могу понть що це таке?
[p.s.]по F8 в ручном режиме считает только влет :'(

Автор - китин
Дата добавления - 08.11.2016 в 08:07
_Boroda_ Дата: Вторник, 08.11.2016, 09:09 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А я думал, что ты до среды не появишься.
Но, вижу, понедельник хорошо прошел - ты даже про файл с макросом забыл.

А так если, то ты подсовываешь макросу что-то не того типа, как он хочет. Например, вместо числа текст
[vba]
Код
    aa = "text"
    f = Range("A1").Offset(aa).Value
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА я думал, что ты до среды не появишься.
Но, вижу, понедельник хорошо прошел - ты даже про файл с макросом забыл.

А так если, то ты подсовываешь макросу что-то не того типа, как он хочет. Например, вместо числа текст
[vba]
Код
    aa = "text"
    f = Range("A1").Offset(aa).Value
[/vba]

Автор - _Boroda_
Дата добавления - 08.11.2016 в 09:09
китин Дата: Вторник, 08.11.2016, 09:40 | Сообщение № 13
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
что ты до среды не появишься
почему?
да в том то и дело, что проявляется только в одном файле. код тупо скопирован из твоего файла .


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
что ты до среды не появишься
почему?
да в том то и дело, что проявляется только в одном файле. код тупо скопирован из твоего файла .

Автор - китин
Дата добавления - 08.11.2016 в 09:40
_Boroda_ Дата: Вторник, 08.11.2016, 10:35 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
почему?
Наташа и Юля помешают.
проявляется только в одном файле
Тем более его приложить нужно.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
почему?
Наташа и Юля помешают.
проявляется только в одном файле
Тем более его приложить нужно.

Автор - _Boroda_
Дата добавления - 08.11.2016 в 10:35
китин Дата: Среда, 09.11.2016, 07:18 | Сообщение № 15
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
сейчас пока некогда поиграться с рабочим файлом, да сначала сам попробую разобраться. спасибо
Наташа и Юля помешают.

а кто сказал что они мешают? :D


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениесейчас пока некогда поиграться с рабочим файлом, да сначала сам попробую разобраться. спасибо
Наташа и Юля помешают.

а кто сказал что они мешают? :D

Автор - китин
Дата добавления - 09.11.2016 в 07:18
китин Дата: Четверг, 10.11.2016, 08:15 | Сообщение № 16
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Всем доброго !!! Код от _Boroda_, работает просто блестяще. Но возникла проблемка. Решил автоматизировать работу файла. И добавил в лист ноябрь_компл формулу, переносящую данные с листа комплектация на лист ноябрь_компл. и считать перестало. Походу код не воспринимает результат паботы формулы как изменине ячейки. бяда !!! как это исправить?
К сообщению приложен файл: __22.xlsm (55.2 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеВсем доброго !!! Код от _Boroda_, работает просто блестяще. Но возникла проблемка. Решил автоматизировать работу файла. И добавил в лист ноябрь_компл формулу, переносящую данные с листа комплектация на лист ноябрь_компл. и считать перестало. Походу код не воспринимает результат паботы формулы как изменине ячейки. бяда !!! как это исправить?

Автор - китин
Дата добавления - 10.11.2016 в 08:15
китин Дата: Пятница, 11.11.2016, 07:19 | Сообщение № 17
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
актуально


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Пятница, 11.11.2016, 13:10
 
Ответить
Сообщениеактуально

Автор - китин
Дата добавления - 11.11.2016 в 07:19
_Boroda_ Дата: Среда, 16.11.2016, 12:13 | Сообщение № 18
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Проверяй
К сообщению приложен файл: _22-2-1.xlsm (60.8 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПроверяй

Автор - _Boroda_
Дата добавления - 16.11.2016 в 12:13
китин Дата: Среда, 16.11.2016, 15:33 | Сообщение № 19
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
аааааа. отлично .завтра буду внедрять в рабочий файл. СПАСИБО!!!!

[p.s.]тот код что ты закомметировал более не нужен? на листе ноябрь_компл


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеаааааа. отлично .завтра буду внедрять в рабочий файл. СПАСИБО!!!!

[p.s.]тот код что ты закомметировал более не нужен? на листе ноябрь_компл

Автор - китин
Дата добавления - 16.11.2016 в 15:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Добавить новые данные расчета к уже существующим (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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