Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
[ Закрыто] Реализация итеративного исчисления массива формул с контролем решения
 
Ну хорошо.

Посредством записи макроса записал простое нужное действие.
Смог повесить макрос на кнопку.
Недостаток - приходится нажимать кнопку 100 раз. Ну и понадобится прикрутить к делу ещё пару операций в будущем.
Сейчас пытаюсь разобраться с синтаксисом VBA Excel для реализации цикла For...Next со счётчиком. Пока ексель ругается и не даётся.

То, что работает и надо.
Код:
Sub Макрос1()
'
' Макрос1 Макрос
' Описание макроса
'

'
   Range("Y21:Z30").Select
   Selection.Copy
   Range("T21:U30").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False
End Sub



Мои попытки использовать цикла For...Next со счётчиком.
Код:
Sub Макрос1()
'
' Макрос1 Макрос
' 1
'

'Цикл

For N = 1 To "W11"

' Копирует диапазон ячеек

   Range("Y21:Z30").Select
   Selection.Copy
   Range("T21:U30").Select
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
       :=False, Transpose:=False

Next N

End Sub

Может быть по синтаксису подскажете ?
[ Закрыто] Реализация итеративного исчисления массива формул с контролем решения
 
Не понимаю что ещё нужно.
Приложил файл ексель, в котором по сути нарисован алгоритм как его вижу и операции что надо сделать.
Как ещё подробней описать ?

Ну хорошо.
Как одновременно (во время замены не должны производится вычисления) заменить формулы или значения в диапазоне ячеек (1 столбец 10 000 строк) на значения из другого аналогичного диапазона N раз (для реализации итеративного вычисления методом подбора) ?
Может быть так коротко и понятно ?
[ Закрыто] Реализация итеративного исчисления массива формул с контролем решения
 
Во первых до конца не осознал алгоритм, который мне надо реализовать. Нужна помощь с алгоритмом. Уверен, что то, что привёл выше, несовершенно.

Во вторых никогда не сталкивался с VB в EXCEL и не знаю что делать. Не знаю как реализовать этот алгоритм средствами VB. Нужна любая помощь и тут.

Конкретную задачу вроде бы подробно описал выше. Что нужно ещё ?
Изменено: Tyhig - 24.05.2020 22:05:49
[ Закрыто] Реализация итеративного исчисления массива формул с контролем решения
 
Добрый день.

...

По теме.
Есть массив из 10 000 строк.
В каком-то столбце есть коэффициенты для расчётов для первой итерации Ню=1 для всех строк.
Далее по ню=1 считается 3 столбца итогом расчётов становится тоже ню=разное1.

Далее по ню=разное считаются по тем же формулам то же самое ню=разное2.

Получаются итерации для каждой строки, но все строки взаимозависимы.
Для сходимости нужно примерно до 100 итераций.
Можно реализовать и без макросов, конечно, просто продолжая итерации направо в новых ячейках, но для 10 000 строк и 100 итераций по 5 вычислений это будет гибель компьютера.


Что нужно от VB.

Думаю это проще реализовать так.
В первом столбце ню1=1. Справа считается первая итерация формул получается ню2=разное1. Далее считается вторая итерация с ню3=разное2.
Далее VB должен скопировать столбец значений ню3 на место ню2 (заменяя формулы идущие из предыдущей итерации слева).
При этом эта замена должна происходить до расчёта новой итерации. То есть обязательно должен поменяться весь столбец ню2, а уже потом начинаться следующие вычисления.
Далее следует итерация вычислений и повторение итераций N раз до тех пор пока результат не сойдётся с нужной точностью Х%.
То есть что-то такое для каждой строки:
ню1=1 ...  формулы-формулы  ...   ню2="результат формул"  ...  формулы-формулы ... ню3="результат формул"  (далее копируем значения ню3 -->ню2 заданное количество раз возможно вручную глазами проверяя критерий сходимости)

На конкурирующем форуме екселя нашёл пример макроса для копирования значений из одной ячейки в другую (https://programmersforum.ru/showthread.php?t=151534)
Код:
Sub Макрос2()
   [a1].Copy
   [b1].PasteSpecial Paste:=xlPasteValues
   Application.CutCopyMode = False
End Sub

Я могу порыться и найти как повесить на кнопку эту операцию. Я могу порыться и найти или догадаться как копировать массивы ячеек.

При этом остальное я не понимаю и не знаю как реализовать.
То есть на момент копирования значений Ексель не должен вычислять формулы (чтобы скопировались верные Ню3) или же само копирование должно происходить как-то за один раз из какого-то буфера обмена. Вообще не представляю что говорю, но как-то так.
Также не знаю как реализовать ячейку со счётчиком.
Также после всех вычислений, как-то придётся воротать обратно формулы в значения ню2 для новых будущих расчётов.

Пожалуйста, помогите.

Пустой файл екселя с исходными данными для итераций сейчас выложу. Но файл не готов , там нет формул, то есть не будет сходиться и там нет решения...


Поиск решения.

Согласно https://vremya-ne-zhdet.ru/vba-excel/tsikly/
https://vremya-ne-zhdet.ru/vba-excel/tsikl-for-next/

Существует цикл For-Next
For счетчик = начало To конец [ Step шаг ]
   [ операторы ]
   [ Exit For ]
   [ операторы ]
Next [ счетчик ]
Изменено: Tyhig - 24.05.2020 22:59:18
Какие вы тут все молодцы ! ^__^
 
Хочу поблагодарить коллектив форума. Спасибо, что отвечали мне много раз.
Сейчас у меня была проблема из-за моей невнимательности, но её уже успешно решил сам.
А вам спасибо за то, что вы есть. Всем лучи добра !
^__^
Подсчет ресурсов проекта
 
В последние годы ексель сделал несколько шагов навстречу графикам.
Но всё-таки рекомендую перейти хотя бы на мс проджект.

Вы эту тему правда так и написали ? А потыкаться в екселе самому/ой ?
Никаких проблем тут и быть не может. Всё решается формулами или сводной таблицей.
Критерии При переименовании файла содержащего и источник данных и сводные таблицы с него - слетает источник данных
 
Добрый день.

Ексель 2016
Мне запрещено скидывать файлы в интернет.
Файл старой версии тут
https://dwg.ru/dnl/14724

В ексель есть известная проблема сводных таблиц. При переименовании файла содержащего и источник данных и  сводные таблицы с него - слетает источник данных (адрес в источнике данных дополняется старым именем файла).
Судя по тому, что прочитал в 2013 формате изменили источник данных для сводных таблиц и добавили МОДЕЛЬ для многих источников данных. Ранее сводные таблицы использовали в качестве источника данных некий КЭШ, а теперь некий ПИВОТ ????. И, судя по всему, с этим пришла данная проблема.
Также возможно это происходит из-за галочки Параметры файла - Дополнительно - При пересчёте этой книги - Обновить ссылки на другие документы. Например в моих проблемных файлах эта галочка не снимается (снимается, но потом смотрю снова есть). А может быть и нет.
Если правильно понял, то решения данной проблемы пока нет.

Предложение не переименовывать файл, а "сохранять его как" не помогает.

Сделал сложный файл (который, к сожалению, не могу скинуть на форум) со многими сводными таблицами (использовал модель данных, много сводных таблиц и они ссылаются сами на себя и т.п.), в котором проявилась эта проблема (в который раз с ней сталкиваюсь на многих компьютерах, виндоусах и екселях 2013-2016). Также при переименовании файла появляется "Активное содержимое".

Далее поэкспериментировал с простыми файлами с парой строк и сводными таблицами. Потом менял название файла.  И не смог воспроизвести проблему !

И теперь не понимаю критерия, как ексель решает когда надо изменять путь к источнику данных, а когда не надо.
Подскажите, пожалуйста, логику или критерий ?
Когда ещё можно, а когда уже ошибка происходит и путь меняется.

Ранее решал проблему "Не переименовывал файл ексель". Но это дико неудобно. :(
В интернете советуют использовать макросы для автозамены источников данных. Это самый крайний способ,  к которому не хотелось бы прибегать.
Есть малая надежда соблюсти все рамки приличия, чтобы при переименовании файла ексель не ругался.
Помогите, пожалуйста.
Изменено: Tyhig - 30.01.2019 17:56:13
Excel 2016, при изменении имени файла сводные таблицы изменяют адрес исходных данных
 
Добрый день.

Excel 2016
При изменении имени файла существующие сводные таблицы изменяют адрес исходных данных с 'Лист1...' на '[старое имя файла]Лист1...'
Потом приходится всем сводным таблицам в файле стирать это старое имя файла.
Пересмотрел все параметры, ничего подобного не нашёл.
Это фишка именно екселя 2016. Дома стоит лицензия 2013-2014, там всё пучком. До этого ексели тоже такого не делали.

Можно ли как-то обойтись малой кровью и снять где-нибудь галочку ?
Или чего лучше делать ?
Обновлять ексель не вариант. По очевидным причинам, а также просто боюсь это делать.
У меня на компе зоопарк разных программ (но каждой по 1 штуке и 1 раз установлена), автокады, ревиты... И так уже оно друг с другом не сильно дружит...
Если только поставить заплатку могу если проблема известна.
Аналог автоподстановки типа Т9 для ексель
 
Да.
Аналог автоподстановки типа Т9 для ексель
 
Добрый день.

Есть лист 1 с таблицей.
Есть лист 2 с набором расценок по названию (допустим "Замена грунта глубиной 0,8 м", "Возведение каркаса" и т.п. >1000 расценок).

При вводе в листе 1 названия, рядом с ним (фильтр по названию) появляются данные из выбранной расценки с листа 2.
При этом в памяти надо держать названия 1000 расценок, чтобы не ошибиться. Или каждый раз лазать в лист 2 смотреть эти названия.

Выбор из выпадающего списка исключается, скрипты и ВБ исключаются.
Примечателен Т9 в андроиде. Хотелось бы что-то подобное реализовать в екселе, может быть в соседнем столбце набор близких названий как подсказку.
Подскажите, пожалуйста, как бы это попроще сделать ?
Excel 2016, пунктир границ ячеек, Внезапно на одном листе екселя часть ячеек получила пунктирные границы
 
JayBhagavan, большое спасибо.
Выручили.  :)

А нет.
При неопознанных действиях снова появляются сквозные строки и столбцы. Раз 5 уже их убирал, сами собой появляются.
Изменено: Tyhig - 08.09.2016 15:43:37
Excel 2016, пунктир границ ячеек, Внезапно на одном листе екселя часть ячеек получила пунктирные границы
 
Добрый день.

Создавал стиль сводной таблицы. В какой-то неуловимый момент что-то сделал с листом.
Теперь на одном конкретном листе большая часть листа справа от некоей ячейки стала отображаться с пунктирными границами.
Причём эти границы не заданы в "формат ячеек-граница", там эти границы идентичны для ячеек слева нормальных и справа пунктирных.

Помогите, пожалуйста, убрать пунктир ?
жпег и ексель (лист Ведомость элементов) прилагаю.
Связь таблиц Excel с AutoCAD
 
Добрый день.

Автокад 2017 (также как и 2016) не поддерживает связь с данными Excel 2010 (ексель 2016).
Пересохранить ексель в 2003 год не могу, так как количество вложений Если больше 8 (и ещё 500 нюансов).
Теоретически автокад пишет, что открывает ексель 2007 года ".xlsx". Но не хочет есть файл.
За год ничего нового не случилось, не исправили ?

Вернее как выяснилось вылетает автокад только у меня одного. У соседей всё ок.
Очень обидно.
Не представляю как мог автокад испортить  для этого дела.
Изменено: Tyhig - 29.08.2016 14:26:28
Перенос значений сводной таблицы между её строками, а не справа. Ексель 2016
 
Добрый день.

Экспликация помещений, к несчастью, содержит следующие столбцы в таком порядке:
Номер, Название помещения, Площадь кв.м, Категория опасности.
В сводной таблице можно было сделать всё строками, но тогда полезную площадь здания автоматом не посчитать (итоги считаются только для Значений сводной таблицы).
Сделал Площадь "Значением" и она стала показываться справа таблицы. А мне надо внутри, по порядку см. выше.
Можно ли как-нибудь "Значения" отобразить внутри сводной таблицы, между столбцами "Строк" сводной таблицы ?

Понимаю, что можно наделать 2 таблицы, можно сводную сводить из многих и т.п. танцы в бубном. Хотелось бы попроще, одной кнопкой... :)
Выбор из массива (4 столбцовх1000 строк) строк чисел по 4 разным условиям
 
Файл. Ексель 2007.
Изменено: Tyhig - 13.01.2016 11:45:20
Выбор из массива (4 столбцовх1000 строк) строк чисел по 4 разным условиям
 
А без приложения екселя нельзя выкладывать темы ?
Но тут как бы и правда такой вопрос, что не так важно в чём это реализовывать... В екселе такой функции всё равно нет и её придётся сделать самому.
Изменено: Tyhig - 13.01.2016 11:32:34
Выбор из массива (4 столбцовх1000 строк) строк чисел по 4 разным условиям
 
Таблица примерно такая.
Ексель прикладывать нет смысла.
№   сочетанияNMyQxMxQyMz
кНкН*мкНкН*мкНкН*м
14511511515
2221515154
3122415450
412522412155
51241251515
6121511551515
712155501515
..................
999-200515450
1000121545015
Из этой таблицы надо получить тот номер сочетания, который бы соответствовал критериям : N (вертикальная сила минимальна) --> min , а Qx, Qу, Мz --> max с учётом их вклада в расчёте.
Примерно такой вклад по важности:
N=49%, Qx=1%, Qy=1%, Мz=49%.

Пока придумал из 4 критериев делать 1. Но метод плох даже не учитывая того, что он не учитывает вклады.
Изменено: Tyhig - 13.01.2016 11:29:30
Выбор из массива (4 столбцовх1000 строк) строк чисел по 4 разным условиям
 
Добрый день.
Прошу помощи по комбинаторике, может быть вопрос не совсем по екселю.
Есть 4 столбца цифр. Каждая строка - группа.
Например, собираю усилия на фундамент здания.
Получаются столбцы (их больше, но нужны эти) :
N (вертикальная сила) ||| Qx (сдвигающая по подошве по х) ||| Qу (сдвигающая по подошве по у) ||| Мz (вращающий момент по вертикальной оси z)
Каждому столбцу соответствуют сочетания усилий, допустим :
1 ; 2 ; 4 ; 6
-10 ; 20 ; 1 ; 0
...
20 ; 1 ; -50; 10
Всего более 1000 сочетаний.

Из всей 1000 сочетаний для дальнейшего расчёта в ексель надо выбрать наиболее опасные для фундамента сочетания по 4 критериям.
N (вертикальная сила минимальна) --> min , а Qx, Qу, Мz --> max.

При этом не могу однозначно сформулировать критерии опасности.
Понятно, что с 4 критериями будет не одно опасное сочетание, а несколько сочетаний. Что неприемлимо. В принципе, ещё могу позволить выбор не одного, а 2-3 сочетаний, но не более 3.
При этом ещё и степень опасности от каждого из усилий разная. И, при этом, мне сложно оценить эту степень важности вклада каждого усилия.

Единственное решение, которое смог придумать сам, (1/N*коэф.вклада+Qx+Qy+Mz)-->max просто очевидно не работает или может дать оплошность в самый неподходящий момент.
Прошу любой помощи.
Подскажите хотя бы идею или направление.

ЗЫ.
С вкладом разных усилий определился.
Примерно такой вклад:
N=49%, Qx=1%, Qy=1%, Мz=49%.
Изменено: Tyhig - 13.01.2016 11:26:27
Главы сводной таблицы
 
Тот же файлик почистил.
Рабочая версия про который тема - лист "Спецификация КЖ".
Пример оформления с допиливанием руками каждой ячейки в листе "Спецификация пример".

У меня в 2013 екселе дома нет в Конструкторе почему-то сжатого ничего. :(
А нет, нашёл. Спасибо.
Хм. Вроде бы тоже не катит. Теперь вся таблица стала 1 столбцом.  :(
А надо чтобы часть сводной таблицы была бы в "сжатой форме", а часть в "виде таблицы". Как бы это сделать ? :)
Изменено: Tyhig - 12.12.2015 16:50:27
Главы сводной таблицы
 
Ближе к делу, ребята.
Не знал что у вас тут дельфины есть. Но ради блага нации мы всех посчитаем... :)
Изменено: Tyhig - 12.12.2015 16:07:29
Главы сводной таблицы
 
Не, ексель виндоусовский. Хотя, наверное, какая разница. Не верится что там другие кнопки и функции. :)

Не, не. Мои данные здесь ни при делах.
Мне всего то нужен типовой способ сделать главы строк в сводной таблице.
Какая разница что считать, арматуру или дельфинов и как эти дельфины в исходных данных расставлены ?

Если такого способа нет (что скорее всего :( ), то прошу отписаться что его нет, чтобы я уже свои хитрости реализовал.

Сам файл приложил к посту ниже. Архив рар без пароля.
Главы сводной таблицы
 
The_Prist
А что такое МАС ?
Да ексель то обычный. Я для примера привёл мой на работе. Но вообще файл, конечно, ДОЛЖЕН РАБОТАТЬ НА ВСЕХ ЕКСЕЛЯХ. В том и фишка.
Файл будет опубликован после разработки в интернете. Всё для людей. С разными версиями екселя.

К тому же я не люблю/опасаюсь/не умею делать скрипты. То есть решение должно быть без скриптов.
Хотя бы потому что чужим людям скачавшим мой файл вирусы не нужны и разрешать макросы боязно.

Пока придумал ещё одно альтернативное решение.
Сделать много сводных таблиц по каждому фундаменту друг за другом убрав шапки с названиями полей.
А потом руками фильтровать каждую по виду фундаментов.
И руками дописывать что здесь Фм1, здесь Фм2...
Тоже не удобно и не решает проблемы с главами "Детали", "Закладные изделия", "Материалы"... Это уже было бы изуверство...
Можно решения комбинировать, но как-то пока ищу альтернативу...
Изменено: Tyhig - 12.12.2015 12:59:42
Главы сводной таблицы
 
Добрый день.
Excel Ексель 2011
Файл представляет собой спецификацию армирования бетона.
В первый лист пишу в произвольном порядке все обрезки арматуры и закладные детали, во втором листе автоматически рожается спецификация.
По сути это сводная таблица без столбцов и итогов, только строки содержащие позицию, диаметр, сталь, количество и т.п. по разным фундаментам Фм1, Фм2 и т.д.

Сводная таблица позволяет реализовать разделение на фундаменты в виде столбцов.
Проблема в том, что по ГОСТ надо сделать именно вертикальным списком с главами.
То есть вертикальный список (нужные главы списка выделены жирным шрифтом):
Фундамент Фм1
Детали
поз. 1 диаметр 12 мм сталь А500С длина 900 мм кол. 10 шт.
...
Изделия
поз.2 Закладная деталь Анкер М20.800 20 шт.
Материалы
бетон В15  20 м3
Фундамент Фм2
Детали
поз. 20 диаметр 16 мм сталь А500С длина 900 мм кол. 11 шт.
...
Изделия
поз.2 Закладная деталь Анкер М20.800 20 шт.
Материалы
бетон В15  210 м3

Придумал реализовать такие главы как отдельные фиктивные элементы арматурины.
Но это предполагает отличного знания когда и чего писать в первом листе исходных данных и по сути его сильно усложняет.
Я через 4 года забуду где чего писать для глав. :(
Можно, конечно, сделать неизменяемую область с заранее забитыми главами на все случаи жизни в конце списка, но так как всегда главы разные и их может и не быть для конкретного фундамента, то это дело сложно в реализации. И это ограничит количество арматурин и фундаментов в файле.

Помогите, пожалуйста.
Подскажите другие варианты создания глав сводной таблицы.

Да. И ещё. У вас отличный форум. Спасибо вам, шо вы есть. :)
Изменено: Tyhig - 12.12.2015 12:42:58
Страницы: 1
Наверх