Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Прикрепить к сообщению можно только файлы xls, gif, jpg, rar, zip,7z, bas, frm, cls, doc размером до 150 Кб.

Автор Тема: Макрос последовательной и/или повторной нумерации выделенных ячеек  (Прочитано 2340 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Анатолий

  • Пользователь
  • **
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 55

Можно ли добиться следующего:

1. Включаем макрос.
2. Задаем нумерацию, начиная, например с 118.
3. Теперь выделение любой ячейки и нажатие клавиши/цифры 1 вводит в ячейку текущий номер = 118.
4. Переключаем нумерацию на следующий порядковый номер нажатием клавиши/цифры 2.
5. Теперь выделение любой ячейки и нажатие клавиши/цифры 1 вводит в ячейку следующий текущий номер = 119.
6. И так далее.
7. Выключаем макрос.

Примечание: клавиша с цифрой 1 и 2 взята для примера, а также, потому что они самые удобные для данной работы.

Спасибо.
Записан

Шпец Докапыч

  • Ветеран
  • *****
  • Уважение: +189/-4
  • Оффлайн Оффлайн
  • Сообщений: 1 919
  • ОБЛАДАТЕЛЬ УНИКАЛЬНЫХ НАВЫКОВ!!! :)

Вот такой код можно положить в модуль книги (тогда сработает при открытии файла) или использовать в обычном модуле, тогда надо поменять названия модуле в коде макроса:
Public MyNum As Long
Private Sub Workbook_Open()
  If MyNum = 0 Then MyNum = CLng(Val(InputBox("Укажите номер", , "128")))
  With Application
    .OnKey "1", "ЭтаКнига.odin"
    .OnKey "{97}", "ЭтаКнига.odin"
    .OnKey "2", "ЭтаКнига.dva"
    .OnKey "{98}", "ЭтаКнига.dva"
    .OnKey "3", "ЭтаКнига.tri"
    .OnKey "{99}", "ЭтаКнига.tri"
  End With
End Sub

Sub odin(): ActiveCell.Value = MyNum: End Sub
Sub dva(): MyNum = MyNum + 1: End Sub
Sub tri() 'при нажатии на тройку отменяем все навесы
  With Application
    .OnKey "1": .OnKey "{97}"
    .OnKey "2": .OnKey "{98}"
    .OnKey "3": .OnKey "{99}"
  End With
End Sub
Записан
Знания недостаточно, необходимо применение. Желания недостаточно, необходимо действие. (с) Брюс Ли

Анатолий

  • Пользователь
  • **
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 55

Теперь все работает. Докапычу огромное спасибо!
« Последнее редактирование: 22.07.2009, 12:13:35 от Anatoli Анатолий »
Записан

Алексей Шмуйлович

  • Ветеран
  • *****
  • Уважение: +31/-0
  • Оффлайн Оффлайн
  • Сообщений: 1 085
  • WORK SMARTER, NOT HARDER

Я в таких случаях делаю гораздо проще:

=строка()+118
Записан
 



Темы без ответов

28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 158
05.03.2019 17:00 Последовательный вывод таблиц Excel в один документ Word без шаблона 527
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 369
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 494
20.01.2019 12:38 Все варианты частичного суммирования 645
13.01.2019 12:24 Заполнение диапазона числами - в виде кластеров 504
30.09.2018 10:24 Расчет процентов за определенный период (месяц) с учетом изменений и платежей 946
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 1735
14.02.2018 10:11 Подготовить читабельную отчетность по платежам 1775
23.01.2018 13:46 Найти вероятность повторной покупки 1586





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.106 секунд. Запросов: 103.