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

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


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

Новости:

Подпишитесь на рассылку новых сообщений форума через службу рассылок: Subscribe.ru

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

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
Записан
 



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

24.01.2020 14:03 На диаграмме Ганта несоответствие оси Y 1397
09.08.2019 14:09 Макрос для заполнения таблиц через форму 3167
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 2778
09.07.2019 20:39 Кредит с уменьшением периода выплат 2878
28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 3615
05.03.2019 17:00 Последовательный вывод таблиц Excel в один документ Word без шаблона 3473
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 3227
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 3429
20.01.2019 12:38 Все варианты частичного суммирования 3548
13.01.2019 12:24 Заполнение диапазона числами - в виде кластеров 2870





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

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