|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
|
Ошибка в коде для Excel. Копирование строк на лист по критериям15.06.2020, 23:08. Показов 3818. Ответов 38
Метки нет (Все метки)
Уважаемые, форумчане! Помогите, пожалуйста, совершенно не знающему человеку. Нашла на форуме примерно то что нужно, но довести до ума не получается...
У меня задача такая: из листа "2020" перенести строки на лист "Май", если в столбце Е (гип) = Барашков и если в столбце AD (чистое май) <>0; остальные строки никуда копировать не нужно, только те, что подпадают под критерии; и если возможно, то копировать строку не целиком, а только столбцы A,b,c,E и AD
0
|
|
| 15.06.2020, 23:08 | |
|
Ответы с готовыми решениями:
38
Excel копирование определенных ячеек и строк на другой лист Макрос для копирование данных из таблицы word на лист excel
|
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
||||||
| 15.06.2020, 23:15 [ТС] | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
|
| 16.06.2020, 16:31 [ТС] | |
|
Ну несколько дней точно есть. Спасибо, что откликнулись...
0
|
|
|
Наивное Существо
|
||||||
| 16.06.2020, 22:13 | ||||||
Сообщение было отмечено olga_eg как решение
Решение
Ответ на вопрос olga_eg от 15.06.2020
ПОЯСНЕНИЕ: 1. Проект протестирован. 2. МИНУСЫ - куча. 3. На листе <2020> - добавлена кнопа в виде автофигуры (множество листов в пакете) в ячейке В1-2 для лёгкого старта макроса - нажать на неё, и он выполнится. 4. Функцианально в программе добавлено два вопроса задания месяца (название листа МАЙ, куда копировать) и задания фамилии для поиска (барашков или любой другой) Думаю, что такой функцианал проги Вам понравится/ Если же нет, то надо сделать следующее: строки 8 и 9 8. mes$ = InputBox("Ввести месяц, куда копировать данные:") 9. fio$ = InputBox("Ввести ФИО:") поставить апострофы, а строки 11 и 12 11. 'mes$ = "Май" 12. 'fio$ = "барашков" убрать апострофы, и тогда будет всегда по умолчанию. 5. Всякое форматирования листа МАЙ, "шапка", всякие другие сервисы - делайте сами или спрашивайте - потому что в задании ничего не сказано про это. 6. код написан максимально коротко, с пояснениями некоторыми, надеюсь, разберётесь...если что, спрашивайте. ИНСТРУКЦИЯ: макрос запускается с текущего активного листа <2020>, нажав на кнопку СТАРТ сиренового цвета, или вызвав на выполнение макрос под названием olgaVibor. Он находится в MODULES. прилагается таблица. план 2019_makros.rar Пока всё. Учтите, что у вас в колонке АD всё по нулям задано. Мне пришлось искуственно изменить две ячейки ноль на значения для проверки макроса.
1
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
|
| 16.06.2020, 23:10 [ТС] | |
|
ОГРОМНОЕ спасибо! Да, по форматированию и шапке упустила. вижу теперь... Помогите, пожалуйста, завершить.
![]() форматирование и шапка как в исходном файле
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
|
| 18.06.2020, 01:17 [ТС] | |
|
А как здесь прописать, чтобы данные при повторном выборе этого месяца и этого гипа (на листе куда копируется) сначала чистились, а потом копировались новые? на случай редактирования исходного файла
0
|
|
|
Наивное Существо
|
|
| 18.06.2020, 20:46 | |
|
olga_eg, всё получилось, только флешка осталась на работе ((((
Но если для ускорения, и вы сможете разобраться, то примените три строки Sheets(mes$).Delete 'удалить лист Sheets.Add 'добавить лист Sheets("Лист2").Name = mes$ 'переименовать лист2 на имя из переменной, но здесь может быть 'не лист2, а лист5 - и будет ошибка после вопросов о названии месяца и ФИО Но здесь могут возникнуть ошибки, если например, изначально нет листа, и другие подобные нюансы. А можно очистить через диапазон, но это на флешке.
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
||||||
| 18.06.2020, 23:54 [ТС] | ||||||
|
Спасибо. Я все-таки подожду Вашу флэшку)
Все-таки нужен диапозон, нужна же шапка таблицы. У меня в принципе очищать его получается, но видимо я не туда это прописываю, потому что перестает все остальное работать, видимо рабочий лист сбивается, или еще что-то. Я вообще VBA всего несколько дней изучаю для этой цели. Поэтому для меня это почти как темный лес. Подскажите, пожалуйста, еще такой нюанс: если я файл сохраняю не на исходном листе, почему-то перестает работать, в противном случае - все ок. Может нужно как-то прописать, чтобы при сохранении переход был на этот лист, или при выполнении макроса сначала был этот переход? Добавлено через 5 минут Пока я подредактировала так:
0
|
||||||
|
Наивное Существо
|
||||||||||||||||
| 19.06.2020, 02:32 | ||||||||||||||||
|
Я так понимаю, что вы в зависимости от месяца ищите своё "ЧИСТОЕ" = stolbMes%.
Предлагаю сделать предварительную настройку экселя, и Вам станет легче считать колонки - они сами покажут свой номер колонки: в самой таблице (можно на любом листе, но лучше на "2020", чтоб вы привыкли к мысли -лист "2020" - ваш главный лист) выполнить: 1. Сервис 2. Параметры 3. Общие 4. Стиль ссылок R1C1 поставить в квадратике "галку" - то есть включить её. 5. После этого все настройки закрыть. В результате этого у вас изменится внешний вид таблицы: вместо подписей колонок A B C D E .... AA AB .... появятся числа 1 2 3 4 5 6 ..... 121 ... то есть теперь вместо "А5" (к примеру) будет называться "15" И запомните! такой вид будет и во всех остальных книгах - предыдущих и будущих. Но это НЕ ВЛИЯЕТ на расчёты! - просто другой внешний вид, который легко изменить на старый через параметры - выключить стиль R1C1 - убрать "галку". Хочу заметить, что у меня эксель 2003 (и более в старых). В более современных может настройка быть чуть другая (не помню) - но смысл тот же. Тогда у вас получится (если я правильно понимаю вашу мысль)
По очистке: жалко, что вы не показали код по очистке ((((( По сохранению файла и действия при его открытии: вы правильно предположили. если вы сохранили на другом листе, потом заходите - у вас показывается другой лист. А макрос работает в привязке с листом "2020". Поэтому вам просто надо после открытия переходить на лист "2020". Но это легко настраивается автоматически. в программе в модуле "Эта книга" в разделе объявления модулей вместо "General поставить WorkBook и вас появится две строки Private Sub Workbook_Open() End Sub а теперь добавьте
И для полного счастья (на этот момент) добавим эту же строчку Sheets("2020").Activate в нашу исходную программу в самое начало:
Похоже - вы еще так не делали ))))) В этом случае сначала идет активация листа "2020", то есть переход на него , а потом уже выполнение всего остального кода. Вот теперь Вы всегда "привязаны" к листу "2020". Эхххххх
1
|
||||||||||||||||
|
Наивное Существо
|
||||||
| 20.06.2020, 12:48 | ||||||
|
olga_eg, принимайте вариант 2 (с вашими доработками):
план 2019_makros2.rar
предложено два варианта: 1. Через удаление всего листа (с проверкой на наличие - добавлен обработчик ошибок), и вставка нового листа с нужным названием. Такой вариант позволяет не задумываться о всяких диапазонах. 2. очистка через диапазон. Но здесь возможна ситуация, если внутри БД будет пустая строка - то будет НЕКАЧЕСТВЕННАЯ очистка диапазона. Конечно, можно и это предусмотреть.Но будет увеличение кода. Сейчас включен ВАРИАНТ 1. Если выберите ВАРИАНТ 2 - то ВАРИАНТ 1 удалите или закомментируйте (поставить кавычку), а ВАРИАНТ 2 - раскомментируйте(убрать кавычку) Хотелось бы узнать ваше решение по очистке - чтоб знать веяние моды. Прилагаю результат в виде конечной таблицы (с другой фамилией для чистоты эксперимента). Всё.
1
|
||||||
|
Наивное Существо
|
||
| 20.06.2020, 18:10 | ||
|
vedunasv - (идёт тест)
,![]() ,![]() , ,![]() ,![]() не зачтено... Добавлено через 16 минут
0
|
||
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
|
| 21.06.2020, 14:59 [ТС] | |
|
Здравствуйте. Просмотрела все. ОГРОМНОЕ ВАМ СПАСИБО. Немного отредактировала под себя. Пыталась пойти дальше по своим запросам. Но опять в ступоре))) Помогите, пожалуйста, понять: что не так. Файл приложила. Суть там такая: чтобы из тех данных, которые выбираются на отдельный лист, формировались таблицы. Под каждую строчку - новая таблица. Крутила и так и этак - никак, то таблица одна, а объекты все, то наоборот....
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
|
| 21.06.2020, 16:18 [ТС] | |
|
В формате .zip
0
|
|
|
Наивное Существо
|
|
| 21.06.2020, 16:26 | |
|
olga_eg, а можете показать - КАК ДОЛЖНа выглядеть таблица отчёт? Почти вижу картинку - но неясно.
Я так понимаю, форма "ФормаЗП" у вас в порядке? Или эта форма должна появиться на листах "майшиман" и остальных? Сейчас она где-то сбоку справа внизу... Надо просто мне ручной образец. Или хорошо опишите. И всё разрешится...
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2020
Сообщений: 17
|
|
| 21.06.2020, 17:42 [ТС] | |
|
Подробнее:
0
|
|
| 21.06.2020, 17:42 | |
|
Помогаю со студенческими работами здесь
20
Копирование строк в другой лист
Выборка строк и копирование на новый лист Копирование строк на другой лист книги по условию Копирование на новый лист строк, с одинаковых днями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|