Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 05.05.2014
Сообщений: 147

Различие результатов работы формул. Формула Ecel не такой результат как формула из макроса

08.05.2023, 08:30. Показов 922. Ответов 9

Студворк — интернет-сервис помощи студентам
Всем привет. Сразу предупреждаю, что я неспециалист в этих делах. так что не судите строго. Вот тут http://www.excelworld.ru/forum/3-46788-1 Формула Excel для VBA
почерпнул очередную порцию знаний. В постах 4 и 17 описано, как переделывать формулы Excel для VBA. Всё вроде бы получилось, но выведенные данные различаются. Результат работы формулы Excel (в две строки, так и должно быть), а результат VBA всё суммирует и выводит в одну строку. в чём проблема и возможно ли это как-то исправить? Файл представил.
Всем спасибо.
Вложения
Тип файла: rar Книга_макросы.rar (15.5 Кб, 32 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.05.2023, 08:30
Ответы с готовыми решениями:

Переменная формула, состоящая из переменных формул
Подскажите пожалуйста, как написать формулу состоящую из переменных формул (в одну формулу написать можно но не надо - потому что формул...

Формула сцепить(БЕЗ МАКРОСА)
всем привет впорос такой имеется таблица показатель позиция дата сумма в желтой ячейке требуется сцепить в один текст...

Как получить результат, если формула в Excel вписана в ячейку!???
Как получить результат, если формула в Excel вписана в ячейку!??? Нужно, в ячейку вписывать формулу вида...

9
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
08.05.2023, 09:48
bsi1, значит формулы в С6 и С10 не идентичны. Разбираться в ваших длиннющих формулах + постах некой темы, на которую вы ссылаетесь, вряд ли кому-то захочется (мне нет). А просто написать в какой ячейке что вы хотите получить, к примеру, С6 равна сумме неких ячеек, а [В1]=[T99]*[E77]. Да и напишут вам макрос. А ваши сравнения ничего не дают, см. моё первое предложение.

Не по теме:

Пойди туда, не знаю куда, принеси то, не знаю что. (из детской сказки)

0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
10.05.2023, 16:03
там массивная формула введена в две ячейки С6 и С7

Добавлено через 4 минуты
выбери 2 ячейки и введи как массивную (Ctr+Sift+Enter) и будет тебе счастье
0
2 / 2 / 0
Регистрация: 05.05.2014
Сообщений: 147
11.05.2023, 14:56  [ТС]
Макрос выдает результат в одну строку т.к. изменен язык формул в Excel. После срабатывая, макрос добавляет в формулу значок @ и объединяет результат в одну строку. В 10-ой строке я убрал @ и всё работает как надо, а в 16-ой не убирал @ и результат выдаёт в одну строку. Возможно ли сделать так, чтобы при срабатывании макроса, значjк @ не добавлялся?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
11.05.2023, 20:09
Цитата Сообщение от bsi1 Посмотреть сообщение
В 10-ой строке я убрал @ и всё работает как надо
И что?в 11 строке появляется 90?
Не верю! формула введена только в 10 строке
И, кстати, @ нет ни на листе ни в модуле
Надо просто вводить формулу массива и всё будет нормально
смотри вложение
Вложения
Тип файла: 7z Книга_макросы2.7z (14.1 Кб, 3 просмотров)
0
Динохромный
1637 / 774 / 288
Регистрация: 22.12.2015
Сообщений: 2,420
12.05.2023, 11:52
Цитата Сообщение от Alex77755 Посмотреть сообщение
И, кстати, @ нет ни на листе ни в модуле
ну это фича последнего офиса, он сам пытается разобраться, является ли формула массивом, и обрабатывает. Иногда вставляет @, иногда нет. Формулу типа =СУММ(M11:M12*N11:N12) например считает как формулу массива, не важно как ее ввели (честно говоря не помню - так было в 2016- версиях, или по-другому).
При этом некоторые формулы именно из-за этого вешают эксель 2016-, при пересчете - приходится принудительно убирать массив.
https://support.microsoft.com/... c999be2b34
Цитата Сообщение от bsi1 Посмотреть сообщение
Возможно ли сделать так, чтобы при срабатывании макроса, значjк @ не добавлялся?
Значок можно попробовать программно удалить из под того же макроса.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
12.05.2023, 13:17
Цитата Сообщение от Dinoxromniy Посмотреть сообщение
Формулу типа =СУММ(M11:M12*N11:N12) например считает как формулу массива
Интересно а как умный офис определяет регион?
Ведь формула вводится в одну ячейку, формула массива вносится в регион (несколько ячеек, как я понимаю)
пока что в моём понятии массивная фомула отличается от простой наличием фигурной скобки, которую ексел вставляет автоматически
А с @ как это выглядит?
И каким образом формула может вставить значение в другую ячейку?

Добавлено через 36 минут
Да уж! Посмотрел описание по ссылке...!
ексел сам вставляет @ когда, по его мнению, это нужно!
А юзеру надо искать возможности как с этим бороться!
Цитата Сообщение от Dinoxromniy Посмотреть сообщение
Значок можно попробовать программно удалить из под того же макроса.
0
Динохромный
1637 / 774 / 288
Регистрация: 22.12.2015
Сообщений: 2,420
12.05.2023, 13:44
Цитата Сообщение от Alex77755 Посмотреть сообщение
Ведь формула вводится в одну ячейку, формула массива вносится в регион (несколько ячеек, как я понимаю)
Ну тут двойственность есть: формула массива может давать один экземпляр результата (и тогда она успешно вставляется в одну ячейку), либо много результатов, тогда ее нужно вставлять в диапазон из нескольких ячеек.
Цитата Сообщение от Alex77755 Посмотреть сообщение
пока что в моём понятии массивная фомула отличается от простой наличием фигурной скобки,
Многие вещи, которые коллеги шутя решают формулами массива я могу порешать разве что VBA. Это очень эффективный инструмент, аналогичный программированию, но специфичный.
Цитата Сообщение от Alex77755 Посмотреть сообщение
А с @ как это выглядит?
Четких правил нет, но насколько я понял, вставляется она аналогично собаке из умных таблиц: например если в А1 вбить формулу =В:В, то результатом будет массив значений, а если вбить =@В:В - то это значение из текущей строчки (одно): для А1 будет В1, для А2 - В2.
Цитата Сообщение от Alex77755 Посмотреть сообщение
И каким образом формула может вставить значение в другую ячейку?
ну это тоже новая фишка 2021 офиса - формула Фильтр() вбивается в одну ячейку, но заполняет нужное количество ячеек вниз и вправо (она фильтрует строки диапазона данных, аналогично обычному фильтру, но выводит результат в новое место, очень удобная и удачная функция кстати). Если натыкается на непустую ячейку, то просто выпадает в ошибку.
Соответственно, формула массива также очерчивает диапазон, который она должна занять, и если он пустой - заполняет, если есть непустые ячейки - выпадает в ошибку (дословно - выдает в своей ячейке слово "перенос")
Цитата Сообщение от Alex77755 Посмотреть сообщение
А юзеру надо искать возможности как с этим бороться!
безусловно, не самый удобный момент, но мне эти собакены вроде не мешали, зато остальные фишки нового офиса весьма зачетны.
1
2 / 2 / 0
Регистрация: 05.05.2014
Сообщений: 147
12.05.2023, 16:48  [ТС]
И что?в 11 строке появляется 90?
Не верю! формула введена только в 10 строке
Конечно появиться. Вот файл с удаленной @.
Вложения
Тип файла: rar Книга_макросы1.rar (15.5 Кб, 15 просмотров)
0
2 / 2 / 0
Регистрация: 05.05.2014
Сообщений: 147
12.05.2023, 17:06  [ТС]
Привет всем. У самого знаний в этих делах нет. Может кто-нибудь из умных людей поможет? Есть таблица в диапазоне B3:G11.
Начиная с ИВ13 и вниз выводятся результаты расчета. В приложенном файле результат расчета из 3-ей строки. Нужен макрос, который бы выдавал результаты при активации ячеек внутри таблицы, начиная с 13-ой строки. Всем спасибо.
Вложения
Тип файла: xlsx Для форума формула.xlsx (12.8 Кб, 7 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.05.2023, 17:06
Помогаю со студенческими работами здесь

Формула для сравнения двух результатов
Задача: есть два ученика, которые прошли тест и набрали n1-баллов из N (максимальное кол-во баллов) и n2 баллов из N итд. По какой формуле...

Определить, является ли формула логическим следствием данных формул
Определить является ли формула (∃x)(P(x)^Q(x)) логическим следствием формул (∃x)P(x) и (∃x)Q(x). С высказываниями понятно что делать,...

Доказать, что формула G не является логическим следствием формул
Может быть кто нибудь знает? Доказать, что формула G не является логическим следствием формул F1,F2,...,Fn: F1=X→Y,...

Формула: дроби (числитель и знаменатель той же высоты, что и вся формула)
Всем доброго времени суток! Многие сталкивались с тем, что, при создании формул, числитель и знаменатель дроби уменьшаются. Собственно...

Доказать, что формула является тавтологией, используя равносильность формул
Докажите, что формула F = ((AΛB)→A) является тавтологией, используя равносильность формул


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru