Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Связь строк таблицы с объектами - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Связь строк таблицы с объектами (Макросы/Sub)
Связь строк таблицы с объектами
ReFeRy Дата: Среда, 04.03.2015, 10:13 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день уважаемые все,

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

На начальном этапе очень хочется автоматического добавления этих самых боксов с заданиями, которые аккумулировались бы в INBOX. Происходить это должно при добавлении новых строк в табличке на первом листе.
Второе - обратное действие...при удалении самого бокса с заданием....удалялась бы строка(или наоборот при удалении строки..удалялся бокс), или закрашивалась цветом...не важно....смысл- как -то отобразить это...

Если есть мысли,буду очень благодарен, подскажите в каком направлении можно развивать эту идею.Стандартные функции? VBA?

Спасибо!
К сообщению приложен файл: wiptests.xlsx (17.3 Kb)
 
Ответить
СообщениеДобрый день уважаемые все,

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

На начальном этапе очень хочется автоматического добавления этих самых боксов с заданиями, которые аккумулировались бы в INBOX. Происходить это должно при добавлении новых строк в табличке на первом листе.
Второе - обратное действие...при удалении самого бокса с заданием....удалялась бы строка(или наоборот при удалении строки..удалялся бокс), или закрашивалась цветом...не важно....смысл- как -то отобразить это...

Если есть мысли,буду очень благодарен, подскажите в каком направлении можно развивать эту идею.Стандартные функции? VBA?

Спасибо!

Автор - ReFeRy
Дата добавления - 04.03.2015 в 10:13
anvg Дата: Среда, 04.03.2015, 10:44 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Доброе время суток
Макросами, думаю вполне возможно. Есть одна проблема, в Excel нет событий, связанных с фигурами. Поэтому возможен следующий вариант - обрабатывать событие активации листа Sheet2, и событие добавления данных в заданном диапазоне на листе Sheet1
При вводе новых данных на Sheet1 формируем столбец уникального ключа данных строки (например дату и время ввода). Макросом на на изменение в стоке ячеек столбцов B-F. Если строка заполнена и столбец А пустой, то пишем ключ.
При активации листа Sheet2
1. Формируем словарь данных листа Sheet1 по значениям ключей.
2. Формируем словарь графических объектов листа Sheet2, используя свойство Shape.Title
3. Сравниваем словари. Если словарь Sheet2 содержит ключи, отсутствующие в словаре Sheet1, то удаляем графические объекты (были удалены строки в Sheet1).
4. Если словарь Sheet1 содержит ключи, отсутствующие в Sheet2 (новые строки в Sheet1), то формируем новый групповой объект, помещаем его в INBOX, и присваиваем свойству Shape.Title значение отсутствующего ключа.
Возможно для 4 на листе Sheet1 нужно добавить столбец признака создания графического объекта. То есть
4.1 Если введены новые данные на Sheet1 и значение этого столбца пустое, тогда ключ этой строки будет отсутствовать в словаре Sheet2 и создаём групповой объект и записываем туда признак создания (что-нибудь).
4.2 Если значение ключа в словаре Sheet1 отсутствует в словаре Sheet2 и значение столбца признака не пустое (ранее создавался, но был удалён), то удаляем строку в Sheet1
 
Ответить
СообщениеДоброе время суток
Макросами, думаю вполне возможно. Есть одна проблема, в Excel нет событий, связанных с фигурами. Поэтому возможен следующий вариант - обрабатывать событие активации листа Sheet2, и событие добавления данных в заданном диапазоне на листе Sheet1
При вводе новых данных на Sheet1 формируем столбец уникального ключа данных строки (например дату и время ввода). Макросом на на изменение в стоке ячеек столбцов B-F. Если строка заполнена и столбец А пустой, то пишем ключ.
При активации листа Sheet2
1. Формируем словарь данных листа Sheet1 по значениям ключей.
2. Формируем словарь графических объектов листа Sheet2, используя свойство Shape.Title
3. Сравниваем словари. Если словарь Sheet2 содержит ключи, отсутствующие в словаре Sheet1, то удаляем графические объекты (были удалены строки в Sheet1).
4. Если словарь Sheet1 содержит ключи, отсутствующие в Sheet2 (новые строки в Sheet1), то формируем новый групповой объект, помещаем его в INBOX, и присваиваем свойству Shape.Title значение отсутствующего ключа.
Возможно для 4 на листе Sheet1 нужно добавить столбец признака создания графического объекта. То есть
4.1 Если введены новые данные на Sheet1 и значение этого столбца пустое, тогда ключ этой строки будет отсутствовать в словаре Sheet2 и создаём групповой объект и записываем туда признак создания (что-нибудь).
4.2 Если значение ключа в словаре Sheet1 отсутствует в словаре Sheet2 и значение столбца признака не пустое (ранее создавался, но был удалён), то удаляем строку в Sheet1

Автор - anvg
Дата добавления - 04.03.2015 в 10:44
ReFeRy Дата: Среда, 04.03.2015, 12:59 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо за задание направления мысли.
Начнем познавать макросы...ибо пока совсем профан в этом всем...=\
Может есть волонтеры помочь?=)
 
Ответить
СообщениеСпасибо за задание направления мысли.
Начнем познавать макросы...ибо пока совсем профан в этом всем...=\
Может есть волонтеры помочь?=)

Автор - ReFeRy
Дата добавления - 04.03.2015 в 12:59
alex77755 Дата: Среда, 04.03.2015, 22:47 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 362
Репутация: 64 ±
Замечаний: 0% ±

по кнопке создаются объекты
Лишние удаляются.
К сообщению приложен файл: 8329359.rar (26.6 Kb)


Могу помочь в VB6, VBA
Alex77755@mail.ru
 
Ответить
Сообщениепо кнопке создаются объекты
Лишние удаляются.

Автор - alex77755
Дата добавления - 04.03.2015 в 22:47
ReFeRy Дата: Четверг, 05.03.2015, 12:09 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Очень интересно! Спасибо. B)
 
Ответить
СообщениеОчень интересно! Спасибо. B)

Автор - ReFeRy
Дата добавления - 05.03.2015 в 12:09
ReFeRy Дата: Вторник, 31.03.2015, 17:36 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
по кнопке создаются объекты
Лишние удаляются

Уважаемый alex77755 обнаружил, что при изменении полей в таблице (например дату изменяем), кроме первого (порядкового номера), не отображаются изменения в объектах.
Изменения можно добиться только путем добавления новой измененной строки, и удаления старой...ну или изменить порядковый номер...
Не знаете можно ли добиться того, чтобы при изменении какой либо ячейки, изменялась информация в объекте?
 
Ответить
Сообщение
по кнопке создаются объекты
Лишние удаляются

Уважаемый alex77755 обнаружил, что при изменении полей в таблице (например дату изменяем), кроме первого (порядкового номера), не отображаются изменения в объектах.
Изменения можно добиться только путем добавления новой измененной строки, и удаления старой...ну или изменить порядковый номер...
Не знаете можно ли добиться того, чтобы при изменении какой либо ячейки, изменялась информация в объекте?

Автор - ReFeRy
Дата добавления - 31.03.2015 в 17:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Связь строк таблицы с объектами (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!