Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 3
1
Excel

Программное отслеживание удаления строк/столбцов

26.02.2013, 14:56. Показов 3191. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
возможно ли каким либо образом получать данные по порядковому номеру удаленного столбца/строки
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2013, 14:56
Ответы с готовыми решениями:

Отслеживание удаления строк в Excel
Как отследить удаление строки в Excel? Добавлено через 1 час 44 минуты При открытии книги, я...

Как защитить книгу/лист от удаления/вставления новых строк/столбцов.
А то 'умные' юзвери меняют исходные таблицы, которые они должны заполнять. Плиз, поможите)

Из исходной таблицы в n строк и 6 столбцов нужно сделать таблицу-результат из кучи строк и 6 столбцов
Добрый вечер, учусь в универcитете, начал изучать макросы и подвернулась "интересная" задача -...

Отслеживание добавления строк
В феврале обсуждалось, как отследить добавление строк. Столкнулась с похожей проблемой - нужно...

6
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
26.02.2013, 15:16 2
1.
Цитата Сообщение от Grinbel Посмотреть сообщение
получать данные
2.
Цитата Сообщение от Grinbel Посмотреть сообщение
удаленного столбца/строки
ето как вы хотите....получить
0
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 3
26.02.2013, 15:57  [ТС] 3
не знаю, потому и спрашиваю
мне необходимо следить и обрабатывать текущее действие USER такое как:

удаление колонки (тип действия =1)
удаление строки (тип действия =2)
добавление строки (тип действия =3)
добавление колонки (тип действия =4)

для обработки достаточно знать порядковый номер строки или колонки и передать номер и тип действия в процедуру

никак не соображу как это сделать
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
26.02.2013, 18:21 4
Предлагаю такой процесс:
1. Защитить лист с запретом удаление/добавления строк, колонок.
2. Создать кнопки с привязкой макросов для контроля даление/добавления строк, колонок по Вашим условиям
0
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
26.02.2013, 18:31 5
Цитата Сообщение от toiai Посмотреть сообщение
Предлагаю такой процесс:
1. Защитить лист с запретом удаление/добавления строк, колонок.
2. Создать кнопки с привязкой макросов для контроля даление/добавления строк, колонок по Вашим условиям
после етого тебе нужно вести журнал, в каком виде тебе нужно *.xls,*txt и т.п.

Добавлено через 43 секунды
какое инфо тебе нужно там хранить и т.п.
0
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 3
26.02.2013, 21:48  [ТС] 6
журнал не нужен.. действие сохраняется сразу после обработки
0
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 449
28.02.2013, 09:56 7
Способы отслеживания на уровне добавления/удаления макросами - хороши, но ... как показывает практика ... пользователи не всегда ведут себя так, как как хочет разработчик ...
А что если пользователь не включил макросы?! а что если он вручную удалили и добавил строки(столбцы) ... или чувствуя себя "героем дня" решил доказать это всем и ... каким-то образом снес защиту?!

Есть 2 способа (пока использовал только их) решения таких проблем:
1. Если вы уверены, что пользователь будет только разбвигать или удалять строчки(столбцы), то создаете в вашем рабочем листе скрытые области (к примеру в первой строке и столбце), где указываете номер той строки и столбца, которые были на момент последней итерации программной обработки(анализа) изменений файла ...
т.е. была строка 3 и 4 ... между ними пользователь вставил еще строку ... получается, что строка 3 сохранила номер(мы пометили ее номер в первом скрытом столбце), новая строка (по порядку 4) значения номера не имеет, а строка по порядку 5 имеет номер 4 ... следовательно, пользователь вставил только одну строку между бывшими 3 и 4 ...
то же самое и при удалении ...

а вот если пользователь целиком выделил живую строку 3 и нажал ДЕЛ, ... то это будет равносильно ее удалению ...
а если пользователь скопировал строку (получится, что у вас будет 2 строки с одним и тем же номером)
на этот случай тоже есть решение:
2. Создаете в вашем файле второй (скорее всего скрытый) лист, который содержит ссылки на все текущие столбцы и строчки рабочего листа рабочей области (да, избыток, но ... он решает вашу задачу). После того, как прользователь поработал, наступает ваш черед (к примеру в ночную обработку данных) проанализировать - что было изменено. Если пользователь добавил строку, то вы увидите, что на нее в зеркальном листе нет ссылок, если пользователь удалили строку, то вы увидите, что ссылка, ранее ссылающаяся на эту строку - повреждена, если пользователь переместил строку, то вы увидите, что порядок ссылок нарушен ...

для обоих случаев конечно же, после анализа данных, вы опять восстанавливаете и номера строка(столбцов) в первом случае и ссылки во втором ...
удачи )
0
28.02.2013, 09:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2013, 09:56
Помогаю со студенческими работами здесь

Макрос удаления строк и столбцов
Уважаемые коллеги, здравствуйте! Подскажите пожалуйста по данной теме. Вопрос следующий: Создана...

Программа превращения массива в квадратную матрицу путем удаления необходимого количества последних строк (столбцов)
Программа превращения массива в квадратную матрицу путем удаления необходимого количества последних...

Преобразовать матрицу X(n,m) в матрицу X(a,b) путём удаления лишних строк и столбцов
Преобразовать матрицу X(n,m) в матрицу X(a,b) путём удаления лишних строк и столбцов (n>a,m>b)....

Отслеживание удаления строки в DataGridView
Помогите решить. Имеется некоторый заполненный DataGridView. Необходимо отследить удаление строки...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru