Нахожусь в поиске интерактивного решения распределения между сотрудниками работы и оперативного отслеживания ее выполнения. В файле примера накидал простую вещь, которую собираюсь развивать далее для себя. Смысл прост. На первой вкладке есть простая табличка с некими атрибутами, связанными с заданием. На втором листе, эти атрибуты перенесены в своеобразный бокс, который вручную распределяется между работниками (как бы выдача задания).Ну и далее задание отслежывается вручную по этапам его выполнения.
На начальном этапе очень хочется автоматического добавления этих самых боксов с заданиями, которые аккумулировались бы в INBOX. Происходить это должно при добавлении новых строк в табличке на первом листе. Второе - обратное действие...при удалении самого бокса с заданием....удалялась бы строка(или наоборот при удалении строки..удалялся бокс), или закрашивалась цветом...не важно....смысл- как -то отобразить это...
Если есть мысли,буду очень благодарен, подскажите в каком направлении можно развивать эту идею.Стандартные функции? VBA?
Спасибо!
Добрый день уважаемые все,
Нахожусь в поиске интерактивного решения распределения между сотрудниками работы и оперативного отслеживания ее выполнения. В файле примера накидал простую вещь, которую собираюсь развивать далее для себя. Смысл прост. На первой вкладке есть простая табличка с некими атрибутами, связанными с заданием. На втором листе, эти атрибуты перенесены в своеобразный бокс, который вручную распределяется между работниками (как бы выдача задания).Ну и далее задание отслежывается вручную по этапам его выполнения.
На начальном этапе очень хочется автоматического добавления этих самых боксов с заданиями, которые аккумулировались бы в INBOX. Происходить это должно при добавлении новых строк в табличке на первом листе. Второе - обратное действие...при удалении самого бокса с заданием....удалялась бы строка(или наоборот при удалении строки..удалялся бокс), или закрашивалась цветом...не важно....смысл- как -то отобразить это...
Если есть мысли,буду очень благодарен, подскажите в каком направлении можно развивать эту идею.Стандартные функции? VBA?
Доброе время суток Макросами, думаю вполне возможно. Есть одна проблема, в 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 и значение столбца признака не пустое (ранее создавался, но был удалён), то удаляем строку в Sheet1anvg
Уважаемый alex77755 обнаружил, что при изменении полей в таблице (например дату изменяем), кроме первого (порядкового номера), не отображаются изменения в объектах. Изменения можно добиться только путем добавления новой измененной строки, и удаления старой...ну или изменить порядковый номер... Не знаете можно ли добиться того, чтобы при изменении какой либо ячейки, изменялась информация в объекте?
Уважаемый alex77755 обнаружил, что при изменении полей в таблице (например дату изменяем), кроме первого (порядкового номера), не отображаются изменения в объектах. Изменения можно добиться только путем добавления новой измененной строки, и удаления старой...ну или изменить порядковый номер... Не знаете можно ли добиться того, чтобы при изменении какой либо ячейки, изменялась информация в объекте?ReFeRy