Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2010, 21:38   #1
Йогурт
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 10
По умолчанию Счетчик при каждом открытии Excel в ячейке

Здравствуйте! Суть вопроса - Есть шаблон в Excel-е! В нем есть "Товарный чек №" так вот..мне надо чтобы при каждом открытии Excel записывался № по наростанию в ячейку! Например..открыл один раз записался товарный чек №1..открыл второй раз записался товарный чек №2 и т.д!

Заранее спасибо за помощь!
Йогурт вне форума Ответить с цитированием
Старый 08.05.2010, 22:05   #2
Йогурт
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 10
По умолчанию

Поможет кто??
Йогурт вне форума Ответить с цитированием
Старый 08.05.2010, 22:12   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

положите это
Код:
Private Sub Workbook_Open()
  r = 3
  c = 10
  Cells(r, c) = Cells(r, c) + 1
  Save
End Sub
в модуль "ЭтаКнига" Вашего шаблона и открывайте, открывайте, открывайте. Только вместо 3 и 10 укажите ряд и колонку, где находится счетчик чеков.

Йогурт, да Вы горячи, как чай. Извините, не успели за 27 минут ответ написать. Модератор не уследил...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 08.05.2010 в 22:18.
IgorGO вне форума Ответить с цитированием
Старый 08.05.2010, 22:51   #4
Йогурт
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
положите это
Код:
Private Sub Workbook_Open()
  r = 3
  c = 10
  Cells(r, c) = Cells(r, c) + 1
  Save
End Sub
в модуль "ЭтаКнига" Вашего шаблона и открывайте, открывайте, открывайте. Только вместо 3 и 10 укажите ряд и колонку, где находится счетчик чеков.

Йогурт, да Вы горячи, как чай. Извините, не успели за 27 минут ответ написать. Модератор не уследил...
Где этот модуль? По конкретней куда этот код вложить? Я в excel-е просто 0 ((
Йогурт вне форума Ответить с цитированием
Старый 08.05.2010, 23:03   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1.открыли шаблон
2.нажали Alt+F11 (открылся редактор VBE)
3.Ctrl+R (открылся или стал активным просмотр проектов)
4.Ищем в списке проект с таким же именем как шаблон
5.в проекте есть модуль "ЭтаКнига"
во в него и копируем код.
напишите вместо r = 3 c = 10 - правильные значения.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.05.2010, 23:10   #6
Йогурт
Пользователь
 
Регистрация: 07.05.2009
Сообщений: 10
По умолчанию

Спасибо огромное за помощь! Только вот он мне все время выдает сообщение о безопасности! Якобы содержит макрос и т.д! Как то не очень =)
Йогурт вне форума Ответить с цитированием
Старый 08.05.2010, 23:23   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

1.большая круглая кнопка Excel (слева-сверху)
2.параметры Excel
3.центр управления безопасностью
4.параментры центра управления безопасностью
5.парметры макросов
6.выбираете включить все макросы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.05.2010, 23:41   #8
ELE-COM
Пользователь
 
Регистрация: 08.05.2010
Сообщений: 48
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
положите это
Код:
Private Sub Workbook_Open()
  r = 3
  c = 10
  Cells(r, c) = Cells(r, c) + 1
  Save
End Sub
...
У меня этот код не работает (excel 2003)
А вот этот работает:
Код:
Sub Auto_Open()
   Worksheets(1).Range("A1") = Worksheets(1).Range("A1") + 1
End Sub
ELE-COM вне форума Ответить с цитированием
Старый 09.05.2010, 01:25   #9
Serge 007
Участник клуба
 
Аватар для Serge 007
 
Регистрация: 15.12.2009
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от ELE-COM Посмотреть сообщение
У меня этот код не работает (excel 2003)
А вот этот работает:
Ваш код должен находится в стандартном модуле, а код IgorGO должен находится в модуле "Эта книга".
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru
https://yoomoney.ru: 41001419691823
Serge 007 вне форума Ответить с цитированием
Старый 11.05.2010, 06:48   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Для формирования уникального номера товарного чека можно использовать как ячейку листа, так и значение по созданной ветке в реестре Windows. Ну, это уже детали. Хочу заметить, что инкременировать номер при открытии файла не есть правильно. Если, например, пользователь несколько раз открыл и закрыл файл, при этом не сформировал ни одного товарного чека, то часть номеров будет пропущена. Также, если, открыв файл, требуется сформировать несколько товарных чеков, то все они будут иметь одинаковый номер. Так что лучше инкременировать номер в ячейке (реестре) при, например, отправке сформированного товарного чека на печать и т.п.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
неверное преобразование даты при открытии DBF файла в MS Excel 2007 Serge_Bliznykov Microsoft Office Excel 13 26.11.2009 09:37
зависание excel при постоянном обращении к ячейке iamaxl Microsoft Office Excel 1 07.07.2009 18:02
Проблема при открытии базы при помощи ADO SlavaSH БД в Delphi 21 30.06.2009 16:51
настроить при открытии Excel 2003 в окошке "Тип файлов" вывод пункта "Все файлы (*.*)" по умолчанию? Unior Microsoft Office Excel 2 01.03.2009 02:42