Можно ли добиться следующего:
1. Включаем макрос.
2. Задаем нумерацию, начиная, например с 118.
3. Теперь выделение любой ячейки и нажатие клавиши/цифры 1 вводит в ячейку текущий номер = 118.
4. Переключаем нумерацию на следующий порядковый номер нажатием клавиши/цифры 2.
5. Теперь выделение любой ячейки и нажатие клавиши/цифры 1 вводит в ячейку следующий текущий номер = 119.
6. И так далее.
7. Выключаем макрос.
Примечание: клавиша с цифрой 1 и 2 взята для примера, а также, потому что они самые удобные для данной работы.
Спасибо.
Вот такой код можно положить в модуль книги (тогда сработает при открытии файла) или использовать в обычном модуле, тогда надо поменять названия модуле в коде макроса:
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
Теперь все работает. Докапычу огромное спасибо!
Я в таких случаях делаю гораздо проще:
=строка()+118