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

Вход

Регистрация

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

 

= Мир MS Excel/Сделать вычисления в массиве через VBA - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сделать вычисления в массиве через VBA (Макросы/Sub)
Сделать вычисления в массиве через VBA
Olga1989 Дата: Вторник, 06.07.2021, 15:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте форумчане.
прошу помочь сделать вычисления в массиве VBA
в диапазоне ячеек J100:ALU100
есть формула. задача делать вычисления этой формулой но уже в массиве VBA, а в диапазон ячеек J100:ALU100 выводить готовые результаты.
прикрепила файл примера.
буду рада если кто откликнется и поможет.
К сообщению приложен файл: 7734549.xlsb (32.6 Kb)


Сообщение отредактировал Olga1989 - Вторник, 06.07.2021, 15:15
 
Ответить
СообщениеЗдравствуйте форумчане.
прошу помочь сделать вычисления в массиве VBA
в диапазоне ячеек J100:ALU100
есть формула. задача делать вычисления этой формулой но уже в массиве VBA, а в диапазон ячеек J100:ALU100 выводить готовые результаты.
прикрепила файл примера.
буду рада если кто откликнется и поможет.

Автор - Olga1989
Дата добавления - 06.07.2021 в 15:11
Pelena Дата: Среда, 07.07.2021, 08:12 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Макрос должен срабатывать по кнопке или при изменении в ячейках E100:F100?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Макрос должен срабатывать по кнопке или при изменении в ячейках E100:F100?

Автор - Pelena
Дата добавления - 07.07.2021 в 08:12
Olga1989 Дата: Среда, 07.07.2021, 11:09 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Макрос должен срабатывать по кнопке или при изменении в ячейках E100:F100?

Макрос должен срабатывать при изменении(обновлению) диапазона F100:ALQ100
немного изменила и прикрепила снова файл. теперь диапазон J100:ALU100 стал ALV100:BYG100
последовательность: обновление диапазона F100:ALQ100---> обновление диапазона ALV100:BYG100
К сообщению приложен файл: 8521300.xlsb (42.8 Kb)


Сообщение отредактировал Olga1989 - Среда, 07.07.2021, 11:11
 
Ответить
Сообщение
Макрос должен срабатывать по кнопке или при изменении в ячейках E100:F100?

Макрос должен срабатывать при изменении(обновлению) диапазона F100:ALQ100
немного изменила и прикрепила снова файл. теперь диапазон J100:ALU100 стал ALV100:BYG100
последовательность: обновление диапазона F100:ALQ100---> обновление диапазона ALV100:BYG100

Автор - Olga1989
Дата добавления - 07.07.2021 в 11:09
Olga1989 Дата: Суббота, 10.07.2021, 14:37 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, добавил файл с макросом.
макрос Обновление. нажимая на него будут видно как происходит вычисления.
К сообщению приложен файл: 2_c_.xlsb (40.2 Kb)
 
Ответить
СообщениеPelena, добавил файл с макросом.
макрос Обновление. нажимая на него будут видно как происходит вычисления.

Автор - Olga1989
Дата добавления - 10.07.2021 в 14:37
Pelena Дата: Суббота, 10.07.2021, 16:30 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Не уверена, что правильно поняла. Для пересчёта можно нажимать F9
К сообщению приложен файл: 8236027.xlsb (41.3 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНе уверена, что правильно поняла. Для пересчёта можно нажимать F9

Автор - Pelena
Дата добавления - 10.07.2021 в 16:30
Olga1989 Дата: Воскресенье, 11.07.2021, 10:19 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, Что то похоже, но считается не совсем верно. Я для сравнения на строку 101 ALV101:BYG101 поместила формулы для проверки. должны быть одинаковые результаты каждый раз получаться.
Pelena, и прошу вас, откройте код VBA. увидев код может быть смогу вам подсказать и мы вместе задачу решим быстрее. ну и конечно же в будущем, чтобы я могла редактировать его сама, если будут вноситься корректировки.
К сообщению приложен файл: 4149816.xlsb (44.7 Kb)
 
Ответить
СообщениеPelena, Что то похоже, но считается не совсем верно. Я для сравнения на строку 101 ALV101:BYG101 поместила формулы для проверки. должны быть одинаковые результаты каждый раз получаться.
Pelena, и прошу вас, откройте код VBA. увидев код может быть смогу вам подсказать и мы вместе задачу решим быстрее. ну и конечно же в будущем, чтобы я могла редактировать его сама, если будут вноситься корректировки.

Автор - Olga1989
Дата добавления - 11.07.2021 в 10:19
Pelena Дата: Воскресенье, 11.07.2021, 10:34 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Вы неправильно проверяете. Макрос умножает на два предыдущее значение в ячейке в 100-й строке, а Вы умножаете на два уже новое, которое пересчиталось макросом.
Код я не закрывала. Правой кнопкой по ярлыку листа -- Посмотреть код


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВы неправильно проверяете. Макрос умножает на два предыдущее значение в ячейке в 100-й строке, а Вы умножаете на два уже новое, которое пересчиталось макросом.
Код я не закрывала. Правой кнопкой по ярлыку листа -- Посмотреть код

Автор - Pelena
Дата добавления - 11.07.2021 в 10:34
Olga1989 Дата: Воскресенье, 11.07.2021, 11:06 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, Всё равно результаты получаются не правильными.
прошу прощения. я в формулах забыла заменить ссылку с ячейки 100 на 101. сейчас я подправила для проверки формулами. посмотрите.
Но при обновлении F9 будет циклическая ссылка. Чтобы обходить срабатывание циклической ссылки я тогда придумала вариант обновления макросом и процесс обновления именно по диапазонно макросом "Обновление".
Sheets("1").Range("F100:ALQ100").CalculateRowMajorOrder
Sheets("1").Range("ALV100:BYG100").CalculateRowMajorOrder
К сообщению приложен файл: 3530016.xlsb (44.8 Kb)


Сообщение отредактировал Olga1989 - Воскресенье, 11.07.2021, 11:06
 
Ответить
СообщениеPelena, Всё равно результаты получаются не правильными.
прошу прощения. я в формулах забыла заменить ссылку с ячейки 100 на 101. сейчас я подправила для проверки формулами. посмотрите.
Но при обновлении F9 будет циклическая ссылка. Чтобы обходить срабатывание циклической ссылки я тогда придумала вариант обновления макросом и процесс обновления именно по диапазонно макросом "Обновление".
Sheets("1").Range("F100:ALQ100").CalculateRowMajorOrder
Sheets("1").Range("ALV100:BYG100").CalculateRowMajorOrder

Автор - Olga1989
Дата добавления - 11.07.2021 в 11:06
Olga1989 Дата: Воскресенье, 11.07.2021, 11:17 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, a этом файле я перенесла формулы диапазона "ALV101:BYG101" на лист "2", а на лист "1", сделала ссылки.
Для правильного обновления, чтобы не было циклических ссылок создала макрос Update_full
Именно такие должны быть результаты.
Вот смотрите, на примере ячейки F100, если там число 4(т.е. равное ALR100), то в ячейке ALV100 должно быть 10, а если не равное, то предыдущее значение ячейки ALV100*2(т.е. ALV100 умножить саму себя на 2).
для остальных ячеек сравнение аналогичное.
К сообщению приложен файл: 2302432.xlsb (71.4 Kb)


Сообщение отредактировал Olga1989 - Воскресенье, 11.07.2021, 11:17
 
Ответить
СообщениеPelena, a этом файле я перенесла формулы диапазона "ALV101:BYG101" на лист "2", а на лист "1", сделала ссылки.
Для правильного обновления, чтобы не было циклических ссылок создала макрос Update_full
Именно такие должны быть результаты.
Вот смотрите, на примере ячейки F100, если там число 4(т.е. равное ALR100), то в ячейке ALV100 должно быть 10, а если не равное, то предыдущее значение ячейки ALV100*2(т.е. ALV100 умножить саму себя на 2).
для остальных ячеек сравнение аналогичное.

Автор - Olga1989
Дата добавления - 11.07.2021 в 11:17
Pelena Дата: Воскресенье, 11.07.2021, 11:20 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Olga1989, Ваш макрос опять-таки обновляет 100-ю строку.
Сделайте скрин экрана до обновления и после и покажите, где и что мой макрос посчитал неверно


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеOlga1989, Ваш макрос опять-таки обновляет 100-ю строку.
Сделайте скрин экрана до обновления и после и покажите, где и что мой макрос посчитал неверно

Автор - Pelena
Дата добавления - 11.07.2021 в 11:20
Olga1989 Дата: Воскресенье, 11.07.2021, 11:20 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, ещё добавлю: в вашем решении первые 2-3 обновления, бывает так, что значения равные, но с каждым последующим обновлением результаты уже не правильно считаются
 
Ответить
СообщениеPelena, ещё добавлю: в вашем решении первые 2-3 обновления, бывает так, что значения равные, но с каждым последующим обновлением результаты уже не правильно считаются

Автор - Olga1989
Дата добавления - 11.07.2021 в 11:20
Pelena Дата: Воскресенье, 11.07.2021, 11:21 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Olga1989, подтвердите Ваши утверждения скринами, иначе разговор ни о чём


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеOlga1989, подтвердите Ваши утверждения скринами, иначе разговор ни о чём

Автор - Pelena
Дата добавления - 11.07.2021 в 11:21
Olga1989 Дата: Воскресенье, 11.07.2021, 11:24 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, я выше вам ещё ответила в сообщениях 8 и 9. посмотрите пожалуйста, если вы не увидели мой ответ. если что то не понятно спрашивайте. и если всё равно не понятно объяснила на примерах сообщениях 8 и 9,конечно я сделаю для вас видеозапись с экрана или скрины, чтобы наглядно уже показать
 
Ответить
СообщениеPelena, я выше вам ещё ответила в сообщениях 8 и 9. посмотрите пожалуйста, если вы не увидели мой ответ. если что то не понятно спрашивайте. и если всё равно не понятно объяснила на примерах сообщениях 8 и 9,конечно я сделаю для вас видеозапись с экрана или скрины, чтобы наглядно уже показать

Автор - Olga1989
Дата добавления - 11.07.2021 в 11:24
Pelena Дата: Воскресенье, 11.07.2021, 11:33 | Сообщение № 14
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Так проверьте
К сообщению приложен файл: 5273499.xlsb (44.4 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТак проверьте

Автор - Pelena
Дата добавления - 11.07.2021 в 11:33
Olga1989 Дата: Воскресенье, 11.07.2021, 12:01 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, УРА. получилось. Давайте теперь отредактируем немного макрос.
1. убрать вычисления проверки диапазона "ALV102:BYG102"(да и проверка проверяется не правильно. но сам макрос считает верно)
2. Подскажите где редактировать в каких местах, чтобы можно было изменить диапазон вычислений.
иногда мои диапазоны доходят до: ALV100:BYG96000(следовательно и диапазон "F100:ALQ100" заполняется формулой случмежду до: "F100:ALQ96000"
 
Ответить
СообщениеPelena, УРА. получилось. Давайте теперь отредактируем немного макрос.
1. убрать вычисления проверки диапазона "ALV102:BYG102"(да и проверка проверяется не правильно. но сам макрос считает верно)
2. Подскажите где редактировать в каких местах, чтобы можно было изменить диапазон вычислений.
иногда мои диапазоны доходят до: ALV100:BYG96000(следовательно и диапазон "F100:ALQ100" заполняется формулой случмежду до: "F100:ALQ96000"

Автор - Olga1989
Дата добавления - 11.07.2021 в 12:01
Pelena Дата: Воскресенье, 11.07.2021, 12:23 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Вы код макроса нашли? Там хорошо видно, где задаются диапазоны


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеВы код макроса нашли? Там хорошо видно, где задаются диапазоны

Автор - Pelena
Дата добавления - 11.07.2021 в 12:23
Olga1989 Дата: Воскресенье, 11.07.2021, 13:10 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, да я видела. но не понимаю в каких местах нужно править. подскажите пожалуйста.
И скажите как убрать вычисления проверки диапазона "ALV102:BYG102"
Ой. увидела вроде бы. буду разбираться.


Сообщение отредактировал Olga1989 - Воскресенье, 11.07.2021, 13:18
 
Ответить
СообщениеPelena, да я видела. но не понимаю в каких местах нужно править. подскажите пожалуйста.
И скажите как убрать вычисления проверки диапазона "ALV102:BYG102"
Ой. увидела вроде бы. буду разбираться.

Автор - Olga1989
Дата добавления - 11.07.2021 в 13:10
Olga1989 Дата: Воскресенье, 11.07.2021, 19:35 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Pelena, я изменила диапазон до 150 строки, но всё равно результат выдаётся только для 1 строки. может я что то не так сделала?
пример изменения макроса прикрепила
 
Ответить
СообщениеPelena, я изменила диапазон до 150 строки, но всё равно результат выдаётся только для 1 строки. может я что то не так сделала?
пример изменения макроса прикрепила

Автор - Olga1989
Дата добавления - 11.07.2021 в 19:35
Olga1989 Дата: Воскресенье, 11.07.2021, 19:38 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

вот
К сообщению приложен файл: 9931447.xlsb (336.9 Kb)
 
Ответить
Сообщениевот

Автор - Olga1989
Дата добавления - 11.07.2021 в 19:38
Pelena Дата: Воскресенье, 11.07.2021, 20:08 | Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Изначально задача формулировалась для одной строки.
Сформулируйте задачу для 150 строк. Что с чем сравнивать и что умножать?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеИзначально задача формулировалась для одной строки.
Сформулируйте задачу для 150 строк. Что с чем сравнивать и что умножать?

Автор - Pelena
Дата добавления - 11.07.2021 в 20:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сделать вычисления в массиве через VBA (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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