Всплывающее окно при запуске excel
Добрый день!
Проблема: На листе "данные" ячейки заполняются с помощью раскрывающегося списка. На листе "сводный" - соответствующие заполненые ячейки отмечаются "крестиками". При наведении мышкой или активации ячейки с крестиком требуется вывод информации из соответствующей ячейки на листе "данные". Пример прилагается.
Добрый день!
Проблема: На листе "данные" ячейки заполняются с помощью раскрывающегося списка. На листе "сводный" - соответствующие заполненые ячейки отмечаются "крестиками". При наведении мышкой или активации ячейки с крестиком требуется вывод информации из соответствующей ячейки на листе "данные". Пример прилагается. marysabel
Если без макросов - то полумера: встать на B2 сводного, создать имя, ссылающееся на A1 данных, далее использовать это имя в проверке ввода в сводном, но только как индикацию (если встанем на ячейку - появится выпадающий список, а в нём значение первого листа).
Если без макросов - то полумера: встать на B2 сводного, создать имя, ссылающееся на A1 данных, далее использовать это имя в проверке ввода в сводном, но только как индикацию (если встанем на ячейку - появится выпадающий список, а в нём значение первого листа). Hugo
Так я с листа "сводный" по гиперссылке уйду на лист "данные". А надо остаться.
Так я с листа "сводный" по гиперссылке уйду на лист "данные". А надо остаться. marysabel
Так я с листа "сводный" по гиперссылке уйду на лист "данные". А надо остаться. Автор - marysabel
Дата добавления - 28.05.2014 в 14:23
Не могу реализовать. Не понятно, как "использовать это имя в проверке ввода в сводном, но только как индикацию"? А Вы не могли бы на моем приложенном файле это показать? И результат тоже прикрепить?
Спасибо заранее.
Не могу реализовать. Не понятно, как "использовать это имя в проверке ввода в сводном, но только как индикацию"? А Вы не могли бы на моем приложенном файле это показать? И результат тоже прикрепить?
Спасибо заранее. marysabel
Не могу реализовать. Не понятно, как "использовать это имя в проверке ввода в сводном, но только как индикацию"? А Вы не могли бы на моем приложенном файле это показать? И результат тоже прикрепить?
Спасибо заранее. Автор - marysabel
Дата добавления - 28.05.2014 в 14:37
Показать смогу. Но только где-то в 22:00 по Москве. Если к тому времени не забуду.
"использовать это имя в проверке ввода" - это ведь элементарно. Ставите проверку ввода, в настройке списка как источник указываете =имя
Показать смогу. Но только где-то в 22:00 по Москве. Если к тому времени не забуду.
"использовать это имя в проверке ввода" - это ведь элементарно. Ставите проверку ввода, в настройке списка как источник указываете =имя Hugo
Очень интересная тема. Перерыл интернет в поисках интересного решения.
И кажется нашел. Ролловер эффект в Excel
Лист защищен без пароля.
Код макроса[vba]
Для Excel2007 и выше формулу можно сократить использовав функцию ЕСЛИОШИБКА()
Как получилось см. файл.
Очень интересная тема. Перерыл интернет в поисках интересного решения.
И кажется нашел. Ролловер эффект в Excel
Лист защищен без пароля.
Код макроса[vba]
Для Excel2007 и выше формулу можно сократить использовав функцию ЕСЛИОШИБКА()
Как получилось см. файл. AlexM
Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
Для Excel2007 и выше формулу можно сократить использовав функцию ЕСЛИОШИБКА()
Как получилось см. файл. Автор - AlexM
Дата добавления - 28.05.2014 в 18:37
Ну и мой обещанный вариант. Хотя с гиперссылкой конечно лучше.
Ну и до кучи навороченное применение этого ролловер эффекта - периодическая система элементов. Где взял - не записал. но нашёл - она лежит по ссылке в тексте, который по ссылке в тексте, ссылку на который дал AlexM
Ну и мой обещанный вариант. Хотя с гиперссылкой конечно лучше.
Ну и до кучи навороченное применение этого ролловер эффекта - периодическая система элементов. Где взял - не записал. но нашёл - она лежит по ссылке в тексте, который по ссылке в тексте, ссылку на который дал AlexM Hugo
Спасибо большое всем, кто принял участие в исследовании данного вопроса! Я попробовала все варианты применительно к моему рабочему файлу…. Время 2 часа ночи, оторваться не смогла, очень затянуло…
Hugo Я с самого начала поняла все правильно, но из-за глупой ошибки реализовать Ваш вариант не смогла…. Спасибо, что выложили файл-пример, а то у меня бы комплекс неполноценности развился бы…..
ZORRO2005 Красиво! Быстро в реализации… Получается, надо на листе одну формулу прописать и все… Для меня это актуально, не надо остальные рабочие ячейки трогать. Единственная загвоздка у меня в том, что при активации ячейки мышкой, данные не появляются сразу, приходиться нажимать F9 для пересчета листа. Все настройки проверила – в параметрах на закладке "вычисления" стоит выборка "автоматически", свойства ячеек проверила. пока причину не нашла…. Буду искать…
AlexM Вам отдельное "спасибо" за открытие ранее мне неизвестного инструмента – ролловер эффекта! Спасибо за ссылку на инфу по этому вопросу, очень интересно и полезно, с удовольствием буду изучать и применять в дальнейшем в работе. Видимо, Ваш вариант с гиперссылкой возьму за основной. Правда, повозиться придется с формулами, у меня в рабочем файле на листе "сводный" информация с 14 листов, причем, все раскрашено и куски сдвинуты для удобства пользователей. Но оно того стоит… Файл в результате тяжеловат получается по размеру, но не критично.
_Boroda_ Спасибо за Ваш вариант, практически, точь в точь, как просила – с выноской. Обязательно буду применять для наглядности в работе, очень эффектно! Только чуть подработаю в плане 1004 ошибки (юзвери они такие, так и норовят на пустую ячейку ткнуть – и страшно пугаются после).
Еще раз - всем спасибо.
Спасибо большое всем, кто принял участие в исследовании данного вопроса! Я попробовала все варианты применительно к моему рабочему файлу…. Время 2 часа ночи, оторваться не смогла, очень затянуло…
Hugo Я с самого начала поняла все правильно, но из-за глупой ошибки реализовать Ваш вариант не смогла…. Спасибо, что выложили файл-пример, а то у меня бы комплекс неполноценности развился бы…..
ZORRO2005 Красиво! Быстро в реализации… Получается, надо на листе одну формулу прописать и все… Для меня это актуально, не надо остальные рабочие ячейки трогать. Единственная загвоздка у меня в том, что при активации ячейки мышкой, данные не появляются сразу, приходиться нажимать F9 для пересчета листа. Все настройки проверила – в параметрах на закладке "вычисления" стоит выборка "автоматически", свойства ячеек проверила. пока причину не нашла…. Буду искать…
AlexM Вам отдельное "спасибо" за открытие ранее мне неизвестного инструмента – ролловер эффекта! Спасибо за ссылку на инфу по этому вопросу, очень интересно и полезно, с удовольствием буду изучать и применять в дальнейшем в работе. Видимо, Ваш вариант с гиперссылкой возьму за основной. Правда, повозиться придется с формулами, у меня в рабочем файле на листе "сводный" информация с 14 листов, причем, все раскрашено и куски сдвинуты для удобства пользователей. Но оно того стоит… Файл в результате тяжеловат получается по размеру, но не критично.
_Boroda_ Спасибо за Ваш вариант, практически, точь в точь, как просила – с выноской. Обязательно буду применять для наглядности в работе, очень эффектно! Только чуть подработаю в плане 1004 ошибки (юзвери они такие, так и норовят на пустую ячейку ткнуть – и страшно пугаются после).
Еще раз - всем спасибо. marysabel
Обычно вам нужно вводить ячейки одну за другой, чтобы заполнить диапазон ячеек. Вы когда-нибудь думали о создании всплывающего окна для ввода нескольких данных при нажатии на ячейки в определенном диапазоне в Excel? Эта статья покажет вам шаг за шагом решения.
Создайте всплывающее окно для ввода нескольких данных с помощью функции формы
Встроенная функция формы Excel может помочь вам решить эту проблему. Пожалуйста, сделайте следующее.
1. Нажмите Файл > Доступные опции для открытия Параметры Excel вдова.
2. в Параметры Excel окно, вам необходимо:
- 1) Нажмите Настроить ленту в левой панели;
- 2) Перейдите в раздел вкладок, нажмите кнопку Новая вкладка создать новую вкладку на ленте;
- 3) Щелкните правой кнопкой мыши новую созданную вкладку в Основные вкладки box и переименуйте его, как вам нужно (здесь я переименовал эту вкладку как Form). Затем нажмите, чтобы выбрать Новая группа под Форма вкладка;
- 4) Выбрать Все команды из Выберите команды из раскрывающийся список;
- 5) Найдите и выберите Форма в поле команд;
- 6) Щелкните значок Add кнопка для добавления команды Форма в новую созданную вкладку под определенной группой;
- 7) Нажмите OK кнопка. Смотрите скриншот:
3. Затем Форма Вкладка создается и добавляется на ленту. Щелкните любую ячейку диапазона, в который вы хотите ввести данные, щелкните Форма (имя, которое вы указали на шаге 2)> Форма.
4. Во всплывающем окне для ввода данных, если вы хотите создать новые данные в диапазоне, нажмите Новое кнопку, заполните поля и закройте окно. Вы можете использовать Найти предыдущий и Найти далее кнопку для переключения вверх и вниз, чтобы изменить существующее значение ячейки по мере необходимости.
Создайте всплывающее окно для ввода данных с потрясающей функцией
Иногда содержимое ячейки слишком длинное для просмотра, за исключением увеличения размера ячейки или увеличения панели формул. Здесь я рекомендую Расширенная панель редактирования особенность Kutools for Excel для вас. После включения этой функции при нажатии на ячейку будет появляться окно, и вы можете просматривать и редактировать содержимое ячейки прямо в окне.
Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.
1. Нажмите Кутулс > Расширенная панель редактирования чтобы включить функцию. Смотрите скриншот:
2. При щелчке по ячейке появится окно со списком всего содержимого внутри. Вы можете просматривать, добавлять и удалять содержимое в окне непосредственно в зависимости от ваших потребностей.
Если вы хотите получить бесплатную (30-дневную) пробную версию этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Статьи по теме
Вызов календаря при щелчке по определенной ячейке в Excel
Предположим, что на листе есть диапазон столбцов, вам нужно часто вводить и изменять даты внутри, но скучно вводить или изменять дату вручную за раз. Как быстро вводить даты, не вводя вручную диапазон столбцов? В этой статье говорится о появлении календаря при нажатии на ячейки в определенном диапазоне, а затем о автоматической вставке даты в выбранную ячейку после выбора даты в календаре.
Защищать форматирование ячеек, но разрешать ввод данных только в Excel
Во многих случаях вам может потребоваться защитить форматирование диапазона ячеек и разрешить ввод данных только в Excel. В этой статье представлены три метода для этого.
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
1. Держать Alt + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
2. В Microsoft Visual Basic для приложений окно, дважды щелкните Эта рабочая тетрадь из Проект-VBAProject панели, затем скопируйте и вставьте приведенный ниже код VBA в Модули окно, см. снимок экрана:
Внимание: Если Проект-VBAProject панель скрыта, щелкните Смотреть > Обозреватель проекта для его отображения.
3. Затем закройте окно кода и сохраните эту книгу как Excel Macro-Enabled Workbook формат, пожалуйста, нажмите Файл > Сохранить какИ в Сохранить как окно, выберите Excel Macro-Enabled Workbook из Сохранить как список, см. снимок экрана:
4. Теперь при первом открытии этого файла вверху таблицы отображается предупреждение системы безопасности, щелкните Включить контент кнопку для активации кода VBA, см. снимок экрана:
Ноты:
Автоматически открывать определенные книги при следующем запуске Excel
После установки Kutools for Excel, выполните следующие действия:
1. Открывайте книги, которые вы хотите открыть вместе в следующий раз автоматически.
2. Затем нажмите Предприятие > Workbook > Автоматически открывать эту книгу в следующий раз, см. снимок экрана:
3. В Автоматически открывать эту книгу в следующий раз диалоговое окно, щелкните Выбрать все чтобы проверить все книги, которые вы хотите автоматически открывать в следующий раз при запуске файла Excel, затем нажмите Ok для выхода из диалога см. снимок экрана:
4. И теперь, когда вы запускаете файл Excel, все выбранные вами книги открываются одновременно.
Внимание: Чтобы отменить эту операцию, вам просто нужно отменить выбор всех книг или удалить или очистить книги в Автоматически открывать эту книгу в следующий раз диалоговое окно.
Вкладка Office позволяет редактировать и просматривать в Office с вкладками и значительно упрощает работу .
- Повторное использование чего угодно: Добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: Извлечь число из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния : Несколько книг и листов в одну; Объединить несколько ячеек / строк / столбцов без потери данных; Объедините повторяющиеся строки и сумму.
- Разделить инструменты : Разделение данных на несколько листов в зависимости от ценности; Из одной книги в несколько файлов Excel, PDF или CSV; От одного столбца к нескольким столбцам.
- Вставить пропуск Скрытые / отфильтрованные строки; Подсчет и сумма по цвету фона ; Отправляйте персонализированные электронные письма нескольким получателям массово.
- Суперфильтр: Создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделям, дням, периодичности и др .; Фильтр жирным шрифтом, формулы, комментарий .
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Удивительный! Использование эффективных вкладок в Excel, таких как Chrome, Firefox и Safari!
Экономьте 50% своего времени и сокращайте тысячи щелчков мышью каждый день!
2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в окно кода.
Заметки:
Пожалуйста, измените их по своему усмотрению.
3. нажмите другой + Q клавиши одновременно, чтобы закрыть Microsoft Visual Basic для приложений окно.
Доброго времени суток коллеги!
Прошу подсказать как реализовать такую задачу:
есть файл который постоянно модернизируется по функционалу, этот файл используют много людей с разных компьютеров.
Необходимо создать окно уведомлений которое бы могло появляться раз у каждого пользователя при входе в файл со своего ПК и каждый раз после изменения текста в этом окне он каждый раз появлялся у каждого входящего в этот файлик и давал возможность ознакомится с изменениями. Но надо что бы он один раз появлялся после внесения изменений в текстовку этого файла (это окно с уведомлением)
Доброго времени суток коллеги!
Прошу подсказать как реализовать такую задачу:
есть файл который постоянно модернизируется по функционалу, этот файл используют много людей с разных компьютеров.
Необходимо создать окно уведомлений которое бы могло появляться раз у каждого пользователя при входе в файл со своего ПК и каждый раз после изменения текста в этом окне он каждый раз появлялся у каждого входящего в этот файлик и давал возможность ознакомится с изменениями. Но надо что бы он один раз появлялся после внесения изменений в текстовку этого файла (это окно с уведомлением) Gameower
хорошо а как реализовать это? через какую функцию ? Автор - Gameower
Дата добавления - 01.11.2016 в 12:41
если закрыть окно или нажать отмену, следующий открывший файл увидит такое же окно, если изменить текст и нажать ок, следующий увидит этот текст
вместо inputbox, для больших текстов правильнее форму с кнопками сделать.
если закрыть окно или нажать отмену, следующий открывший файл увидит такое же окно, если изменить текст и нажать ок, следующий увидит этот текст
вместо inputbox, для больших текстов правильнее форму с кнопками сделать. K-SerJC
Благими намерениями выстелена дорога в АД.
если закрыть окно или нажать отмену, следующий открывший файл увидит такое же окно, если изменить текст и нажать ок, следующий увидит этот текст
вместо inputbox, для больших текстов правильнее форму с кнопками сделать. Автор - K-SerJC
Дата добавления - 01.11.2016 в 12:56
K-SerJC, хороший вариант, один момент, нужно что бы это окно выпадало один раз после обновления в нем написанного у каждого нового посетителя файла, и повторное появление будет только после обновления содержимого в этом окне, это возможно простыми командами сделать? и желательно нижнюю строку где можно писать ее убрать совсем окно несет информативный характер только
K-SerJC, хороший вариант, один момент, нужно что бы это окно выпадало один раз после обновления в нем написанного у каждого нового посетителя файла, и повторное появление будет только после обновления содержимого в этом окне, это возможно простыми командами сделать? и желательно нижнюю строку где можно писать ее убрать совсем окно несет информативный характер только Gameower
K-SerJC, хороший вариант, один момент, нужно что бы это окно выпадало один раз после обновления в нем написанного у каждого нового посетителя файла, и повторное появление будет только после обновления содержимого в этом окне, это возможно простыми командами сделать?
K-SerJC, хороший вариант, один момент, нужно что бы это окно выпадало один раз после обновления в нем написанного у каждого нового посетителя файла, и повторное появление будет только после обновления содержимого в этом окне, это возможно простыми командами сделать?
K-SerJC, хороший вариант, один момент, нужно что бы это окно выпадало один раз после обновления в нем написанного у каждого нового посетителя файла, и повторное появление будет только после обновления содержимого в этом окне, это возможно простыми командами сделать?
K-SerJC, а вы могли бы дать пример как это сделать? и приписать коменты куда вставить пользователей и т.д.
K-SerJC, а вы могли бы дать пример как это сделать? и приписать коменты куда вставить пользователей и т.д. Gameower
K-SerJC, а вы могли бы дать пример как это сделать? и приписать коменты куда вставить пользователей и т.д.
если не очень срочно сделаю, надо время подумать, а тут еще работой пригрузили :-))
K-SerJC, а вы могли бы дать пример как это сделать? и приписать коменты куда вставить пользователей и т.д.
если не очень срочно сделаю, надо время подумать, а тут еще работой пригрузили :-))
K-SerJC, а вы могли бы дать пример как это сделать? и приписать коменты куда вставить пользователей и т.д.
если не очень срочно сделаю, надо время подумать, а тут еще работой пригрузили :-))
прикольно, мысль была похожая, только через username
у нас по сети можно с разных компов под своей учеткой заходить
прикольно, мысль была похожая, только через username
у нас по сети можно с разных компов под своей учеткой заходить K-SerJC
прикольно, мысль была похожая, только через username
у нас по сети можно с разных компов под своей учеткой заходить Автор - K-SerJC
Дата добавления - 01.11.2016 в 14:10
Так вместо Серийника возьмите за основу что вам надо и все. Там в первых строках кода переменная S. В нее и возьмите юзернэйм ))) Удачи
Так вместо Серийника возьмите за основу что вам надо и все. Там в первых строках кода переменная S. В нее и возьмите юзернэйм ))) Удачи devilkurs
если не очень срочно сделаю, надо время подумать, а тут еще работой пригрузили :-))
вообще есть список юзеров которые будут часто использовать, но есть и новые пользователе которые могут заходить. возможно ли через название ПК в сети это сделать??
если не очень срочно сделаю, надо время подумать, а тут еще работой пригрузили :-))
вообще есть список юзеров которые будут часто использовать, но есть и новые пользователе которые могут заходить. возможно ли через название ПК в сети это сделать?? Gameower
если не очень срочно сделаю, надо время подумать, а тут еще работой пригрузили :-))
вообще есть список юзеров которые будут часто использовать, но есть и новые пользователе которые могут заходить. возможно ли через название ПК в сети это сделать?? Автор - Gameower
Дата добавления - 02.11.2016 в 04:28
момнет такой, необходимо не ту инфо выводить,а другую ту которую я бы мог сам вписывать типа версия файла такая то и внес по функционалу такие то изменения и т.д.
момнет такой, необходимо не ту инфо выводить,а другую ту которую я бы мог сам вписывать типа версия файла такая то и внес по функционалу такие то изменения и т.д. Gameower
момнет такой, необходимо не ту инфо выводить,а другую ту которую я бы мог сам вписывать типа версия файла такая то и внес по функционалу такие то изменения и т.д. Автор - Gameower
Дата добавления - 02.11.2016 в 04:43
вообще есть список юзеров которые будут часто использовать, но есть и новые пользователе которые могут заходить. возможно ли через название ПК в сети это сделать??
вообще есть список юзеров которые будут часто использовать, но есть и новые пользователе которые могут заходить. возможно ли через название ПК в сети это сделать??
вообще есть список юзеров которые будут часто использовать, но есть и новые пользователе которые могут заходить. возможно ли через название ПК в сети это сделать??
много вариантов. :-) Автор - K-SerJC
Дата добавления - 02.11.2016 в 07:37
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
If ActiveWorkbook.Sheets("secr").Visible <> 0 Then ActiveWorkbook.Sheets("secr").Visible = 0
Message (CreateObject("Scripting.FileSystemObject").GetDrive("C").SerialNumber)
End Sub
Private Sub Message(snDrive As String)
Dim pUz As Integer, txt As String
If ActiveWorkbook.Sheets("secr").Cells(3, 1).Value = "" Then AddDrive (snDrive): Moder: Exit Sub
If snDrive = ActiveWorkbook.Sheets("secr").Cells(3, 1).Value Then Moder: Exit Sub
pUz = FindUz(snDrive)
If pUz = 0 Then AddDrive (snDrive): Uzver: Exit Sub
txt = ActiveWorkbook.Sheets("secr").Cells(1, 1).Value
If ActiveWorkbook.Sheets("secr").Cells(pUz, 2).Value = txt Then Exit Sub Else: UpdateDriveRec pUz, txt: Uzver
End Sub
Private Sub Moder()
frmMessage.Hide
frmMessage.TextBox1.Enabled = False
frmMessage.cmbOK.Caption = "Отредактировал!"
frmMessage.Label1.Visible = False
frmMessage.Show
End Sub
Private Sub Uzver()
frmMessage.Hide
frmMessage.TextBox1.Enabled = False
frmMessage.cmbOK.Caption = "Прочитал!"
frmMessage.Label1.Visible = True
frmMessage.Show
End Sub
Private Sub AddDrive(snDrive As String)
Dim t As Integer
t = ActiveWorkbook.Sheets("secr").Cells(2, 2).Value
ActiveWorkbook.Sheets("secr").Cells(t, 1).Value = snDrive
ActiveWorkbook.Sheets("secr").Cells(2, 2).Value = t + 1
End Sub
Private Sub UpdateDriveRec(poz As Integer, txt As String)
ActiveWorkbook.Sheets("secr").Cells(poz, 2).Value = txt
End Sub
Private Function FindUz(snDrive As String) As Integer
Dim st As Integer, sp As Integer, à As Integer
FindUz = 0
st = ActiveWorkbook.Sheets("secr").Cells(2, 1).Value
sp = ActiveWorkbook.Sheets("secr").Cells(2, 2).Value
For f = st To sp
If snDrive = ActiveWorkbook.Sheets("secr").Cells(f, 1).Value Then FindUz = f: Exit Function
Next f
End Function
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
If ActiveWorkbook.Sheets("secr").Visible <> 0 Then ActiveWorkbook.Sheets("secr").Visible = 0
Message (CreateObject("Scripting.FileSystemObject").GetDrive("C").SerialNumber)
End Sub
Private Sub Message(snDrive As String)
Dim pUz As Integer, txt As String
If ActiveWorkbook.Sheets("secr").Cells(3, 1).Value = "" Then AddDrive (snDrive): Moder: Exit Sub
If snDrive = ActiveWorkbook.Sheets("secr").Cells(3, 1).Value Then Moder: Exit Sub
pUz = FindUz(snDrive)
If pUz = 0 Then AddDrive (snDrive): Uzver: Exit Sub
txt = ActiveWorkbook.Sheets("secr").Cells(1, 1).Value
If ActiveWorkbook.Sheets("secr").Cells(pUz, 2).Value = txt Then Exit Sub Else: UpdateDriveRec pUz, txt: Uzver
End Sub
Private Sub Moder()
frmMessage.Hide
frmMessage.TextBox1.Enabled = False
frmMessage.cmbOK.Caption = "Отредактировал!"
frmMessage.Label1.Visible = False
frmMessage.Show
End Sub
Private Sub Uzver()
frmMessage.Hide
frmMessage.TextBox1.Enabled = False
frmMessage.cmbOK.Caption = "Прочитал!"
frmMessage.Label1.Visible = True
frmMessage.Show
End Sub
Private Sub AddDrive(snDrive As String)
Dim t As Integer
t = ActiveWorkbook.Sheets("secr").Cells(2, 2).Value
ActiveWorkbook.Sheets("secr").Cells(t, 1).Value = snDrive
ActiveWorkbook.Sheets("secr").Cells(2, 2).Value = t + 1
End Sub
Private Sub UpdateDriveRec(poz As Integer, txt As String)
ActiveWorkbook.Sheets("secr").Cells(poz, 2).Value = txt
End Sub
Private Function FindUz(snDrive As String) As Integer
Dim st As Integer, sp As Integer, à As Integer
FindUz = 0
st = ActiveWorkbook.Sheets("secr").Cells(2, 1).Value
sp = ActiveWorkbook.Sheets("secr").Cells(2, 2).Value
For f = st To sp
If snDrive = ActiveWorkbook.Sheets("secr").Cells(f, 1).Value Then FindUz = f: Exit Function
Next f
End Function
Благими намерениями выстелена дорога в АД.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub
Private Sub Workbook_Open()
If ActiveWorkbook.Sheets("secr").Visible <> 0 Then ActiveWorkbook.Sheets("secr").Visible = 0
Message (CreateObject("Scripting.FileSystemObject").GetDrive("C").SerialNumber)
End Sub
Private Sub Message(snDrive As String)
Dim pUz As Integer, txt As String
If ActiveWorkbook.Sheets("secr").Cells(3, 1).Value = "" Then AddDrive (snDrive): Moder: Exit Sub
If snDrive = ActiveWorkbook.Sheets("secr").Cells(3, 1).Value Then Moder: Exit Sub
pUz = FindUz(snDrive)
If pUz = 0 Then AddDrive (snDrive): Uzver: Exit Sub
txt = ActiveWorkbook.Sheets("secr").Cells(1, 1).Value
If ActiveWorkbook.Sheets("secr").Cells(pUz, 2).Value = txt Then Exit Sub Else: UpdateDriveRec pUz, txt: Uzver
End Sub
Private Sub Moder()
frmMessage.Hide
frmMessage.TextBox1.Enabled = False
frmMessage.cmbOK.Caption = "Отредактировал!"
frmMessage.Label1.Visible = False
frmMessage.Show
End Sub
Private Sub Uzver()
frmMessage.Hide
frmMessage.TextBox1.Enabled = False
frmMessage.cmbOK.Caption = "Прочитал!"
frmMessage.Label1.Visible = True
frmMessage.Show
End Sub
Private Sub AddDrive(snDrive As String)
Dim t As Integer
t = ActiveWorkbook.Sheets("secr").Cells(2, 2).Value
ActiveWorkbook.Sheets("secr").Cells(t, 1).Value = snDrive
ActiveWorkbook.Sheets("secr").Cells(2, 2).Value = t + 1
End Sub
Private Sub UpdateDriveRec(poz As Integer, txt As String)
ActiveWorkbook.Sheets("secr").Cells(poz, 2).Value = txt
End Sub
Private Function FindUz(snDrive As String) As Integer
Dim st As Integer, sp As Integer, à As Integer
FindUz = 0
st = ActiveWorkbook.Sheets("secr").Cells(2, 1).Value
sp = ActiveWorkbook.Sheets("secr").Cells(2, 2).Value
For f = st To sp
If snDrive = ActiveWorkbook.Sheets("secr").Cells(f, 1).Value Then FindUz = f: Exit Function
Next f
End Function
Читайте также: