|
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 53
|
||||||
Excel Распределение строк по условию (Дате)19.11.2018, 04:59. Показов 3449. Ответов 14
Доброго времени суток всем читающим этот текст
Да я знаю что подобных топиков очень много уже,и никому не будет в новинку. Пытался сделать распределение строк по образцу,но что-то пошло не так.Нужно чтобы от даты в ячейке B2 в таблице owssvr по столбцу G переносило строки по датам: все даты ранее во вкладку "Не выполнено";"Со сроком месяц" все даты от текущей до конца месяца;"Со сроком месяц+1" если дата в следующем от даты месяце При старте макроса ругается на место "with owssvr" (Variable not defined). Прошу указать где зарыта соответствующая собака Также вопрос: если мне нужны только значения "Не выполнено" по столбцу J,можно ли использовать фильтры?иными словами,переносит ли макрос скрытые строки. Использовал подобный код
0
|
||||||
| 19.11.2018, 04:59 | |
|
Ответы с готовыми решениями:
14
Распределение файлов по условию
Распределение файлов по папкам согласно заданному условию |
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|
| 19.11.2018, 06:12 | |
|
owssvr - это объект
в предоставленном коде нет НИ описания этой переменной Ни действий связанных с присвоением этой переменной объекта возможно это где-то есть но пока не видно Добавлено через 5 минут оказывается owssvr это имя листа Добавлено через 3 минуты ну-с начнем рубить правду -матку строка 15 вероятнее всего будет так With owssvr -> With Worksheets("owssvr") Строки 20 22 24 идет присвоение объектной переменной а присваивается текст на примере 20 строки Set Sh_Target = "Не выполнено" -> Set Sh_Target = Worksheets("Не выполнено") Добавлено через 2 минуты к 31 строке тоже вопросы .Rows(LastRowTarget).RowHeight = Лист1.Rows(i).RowHeight вот это лист1 ни в какие ворота не лезет может так правильно .Rows(LastRowTarget).RowHeight = Sheets("Лист1").Rows(i).RowHeight однако я не нашел у вас листа с названием Лист1 Добавлено через 15 минут кстати вместо .FormulaR1C1 я обычно пользуюсь .FormulaLocal в этом случае текст будет более привычный например Range("D2").FormulaLocal = "=b2+c2"
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 53
|
|
| 19.11.2018, 06:24 [ТС] | |
|
Поправил все ошибки,Лист1 заменил на owssvr,забыл исправить (31 строка)
Теперь выдаёт error 9 (subscript out of range),возможно в строке For Each ShName In Array("Не выполнено РУТН", "РУТН со сроком месяц", "РУТН со сроком месяц+1") ошибка?тоже добавить Sheets Заменил на FormulaLocal
0
|
|
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|
| 19.11.2018, 06:34 | |
|
нет
Добавлено через 4 минуты ошибка потому что листа такого нет вываливается в строке With Sheets(ShName) в примере нет листа с названием - Не выполнено РУТН
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 53
|
|
| 19.11.2018, 06:42 [ТС] | |
|
Попробовал заменить имена таблица на "1","2","3"
Начал что-то выполнять,в экселе видно как курсор перемещается между таблицами,но строки не заполняются,может протупит ещё ![]() Добавлено через 2 минуты Заменил названия листов на стандартные "1","2","3" вроде начал что-то выполнять,из-за тормозов нихрена не понять что делает,по итогу отпишу что насчитал
0
|
|
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|
| 19.11.2018, 06:43 | |
|
надо код весь просматривать
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 53
|
|
| 19.11.2018, 06:57 [ТС] | |
|
Курсор просто бегает между листами,копирование не ведется(
Добавлено через 1 минуту на 29 строке if не закрыт end if, это нормально?
0
|
|
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|
| 19.11.2018, 07:22 | |
|
в данном случае нормально т.к конструкция If прописана в одну строку
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 53
|
||||||
| 19.11.2018, 07:24 [ТС] | ||||||
|
Пока что остановился на таком варианте кода
Бегает между листами но копировать не хочет ![]()
0
|
||||||
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|
| 19.11.2018, 07:26 | |
Сообщение было отмечено Andrey_konoval как решение
Решение
не копируется потому что вы вставляете из буфера не данные а формат ячеек
далее нет проверки на то что переменная Sh_Target пустая т.е. Nothing - тут тоже ошибка еще в на листе определяете последнюю заполненную строку по столбцу Z - заранее пустому столбцу там тоже косяк вылазит пока что у меня получилось вот так
1
|
|
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|
| 19.11.2018, 07:40 | |
|
в строке 17
If A(i, 7) <= Sheets("Формулы").Range("D5") And A(i, 7) >= Sheets("Формулы").Range("E7") Then согласно присланного примера ячейка Е7 на листе Формулы пустая я не знаю - так должно быть или так не должно быть в моем варианте там стоит E2 - обратите внимание
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 53
|
|
| 19.11.2018, 07:45 [ТС] | |
|
Косякнул с условиями выбора дат,переправил вроде как всё работает!
А ошибка с Nothing может на что-нибудь повлиять?Остался вопрос с фильтрами: если к примеру мне надо распределять значения по столбцу "Выполнено",единственный вариант это отфильтровать, вставить на другой лист только значения и уже потом выполнять макрос с распределением? Добавлено через 35 секунд Да,с датами сугубо мой косяк,поправил,всё работает
0
|
|
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|
| 19.11.2018, 07:48 | |
|
можно на разные листы раскидать просрочено и выполнено и просрочено и не выполнено
прописать дополнительные условия и все
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2015
Сообщений: 53
|
|
| 19.11.2018, 07:54 [ТС] | |
|
А можно прописать дополнительные условие в IF,однако тогда наверное он считать будет гораздо дольше
В любом случае огромное спасибо тебе,как всегда на высоте
0
|
|
|
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
|
|||||||||||||
| 19.11.2018, 08:09 | |||||||||||||
|
if [условие1] and [условие2] and [условие3] and [условие4] Then в данном случае общее условие станет истинным если все 4 условия будут истинными Добавлено через 3 минуты можно сделать так
если строчка не отвечает какому-либо условию то объектной переменной не будет присвоено значение и эта переменная останется в состоянии Nothing возникнет ошибка кстати ее еще и обнулять надо т.е. принудительно загонять в состояние Nothing т.е. концовку надо сделать так
0
|
|||||||||||||
| 19.11.2018, 08:09 | |
|
Помогаю со студенческими работами здесь
15
Распределение одинаковых символов случайным способом по условию Суммеслимн по дате и второму условию Выборка по дате и создание списка по условию Прибавить к дате количество дней и проверить результат на соответствие условию Распределение строк Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536
Одним из. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
|
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 секунды (а то и больше),. . .
|