Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как автоматически увеличивать значение ячейки после каждой печати?

Author Xiaoyang Last modified

Во многих бизнес-процессах и административных рабочих процессах может возникнуть необходимость распечатать несколько копий документа, счета или чека, каждый из которых помечен уникальным серийным номером или идентификатором для удобного ведения записей и отслеживания. Например, представьте, что у вас есть лист Excel, отформатированный как шаблон чека или ваучера, а в ячейке A1 находится номер чека, такой как "Company-001". Если вы распечатаете 100 копий этой страницы, то обновлять номер вручную для каждого отдельного отпечатка было бы утомительно и подвержено ошибкам. В идеале, вам хотелось бы, чтобы Excel автоматически увеличивал значение в ячейке A1 при каждой операции печати, так что первый отпечаток покажет "Company-001", второй — "Company-002" и так далее до "Company-100".

По умолчанию Excel не предоставляет встроенную функцию для автоматического увеличения значения ячейки после каждой задачи печати. Однако вы можете достичь этой автоматизации с помощью макроса VBA. Использование VBA является практичным решением, если вам нужно эффективно генерировать последовательно пронумерованные бумажные копии, особенно при работе с серийными формами, билетами, чеками или любым сценарием, требующим уникальных идентификаторов для распечатываемых страниц. Этот подход помогает избежать ручных ошибок, экономит время и гарантирует, что каждая копия получит уникальный номер по необходимости.

Ниже мы представляем метод VBA для автоматического увеличения значений ячейки для каждой распечатанной копии. Кроме того, эта статья предлагает руководство по эффективному использованию, потенциальным предостережениям и практическим советам для оптимизации пакетных задач печати в вашем рабочем процессе Excel.

Автоматическое увеличение значения ячейки после каждой печати с помощью кода VBA


arrow blue right bubble Автоматическое увеличение значения ячейки после каждой печати с помощью кода VBA

В Excel нет прямой встроенной опции для автоматического увеличения значения ячейки при каждом выводе на печать. Чтобы автоматизировать этот процесс, вы можете использовать макрос VBA для эффективной печати указанного количества копий, каждая из которых будет иметь увеличенный идентификатор в ячейке A1. Этот метод особенно подходит для создания персонализированных бумажных копий (например, чеков, этикеток, форм и т. д.) с последовательной нумерацией. Обратите внимание, что использование макросов может потребовать включения макросов в вашей среде Excel, а выполнение кода VBA может повлиять на настройки безопасности файла. Всегда убедитесь, что вы сохранили свою работу перед запуском любого кода.

1. Нажмите и удерживайте клавиши ALT + F11 вместе, чтобы открыть окно Microsoft Visual Basic for Applications. Если вы используете VBA впервые, возможно, вам придется включить вкладку Разработчик в ленте Excel.

2. В редакторе VBA нажмите Вставка > Модуль, чтобы открыть новое окно модуля. В новом модуле скопируйте и вставьте предоставленный ниже код VBA. Этот скрипт поможет вам увеличивать номер отпечатка для каждой копии, которую вы печатаете с активного листа.

Код VBA: Автоматическое увеличение значения ячейки после каждой печати:

Sub IncrementPrint()
'updateby Extendoffice
    Dim xCount As Variant
    Dim xScreen As Boolean
    Dim I As Long
    On Error Resume Next
LInput:
    xCount = Application.InputBox("Please enter the number of copies you want to print:", "Kutools for Excel")
    If TypeName(xCount) = "Boolean" Then Exit Sub
    If (xCount = "") Or (Not IsNumeric(xCount)) Or (xCount < 1) Then
        MsgBox "error entered, please enter again", vbInformation, "Kutools for Excel"
        GoTo LInput
    Else
        xScreen = Application.ScreenUpdating
        Application.ScreenUpdating = False
        For I = 1 To xCount
            ActiveSheet.Range("A1").Value = " Company-00" & I
            ActiveSheet.PrintOut
        Next
        ActiveSheet.Range("A1").ClearContents
        Application.ScreenUpdating = xScreen
    End If
End Sub

Этот код запрашивает у вас общее количество копий, которые вы хотите напечатать, обрабатывает обновление ячейки A1 для каждого цикла печати и автоматически печатает каждую версию.

3. После вставки кода убедитесь, что ваш рабочий лист готов, и активная ячейка (обычно A1) содержит правильный базовый текст (например, "Company-001"). Нажмите клавишу F5 или кнопку Запуск в редакторе VBA, чтобы запустить макрос. Появится диалоговое окно, спрашивающее, сколько копий вы хотите напечатать; введите желаемое число (например, 100) и подтвердите ввод. Пожалуйста, посмотрите скриншот интерфейса ниже для справки:

A screenshot of a prompt box asking for the number of copies to print with incremented numbers

Если вы введете нечисловое значение или нажмете Отмена, процесс остановится без каких-либо действий. Убедитесь, что вы вводите только числа и дважды проверьте начальное значение в ячейке A1 перед продолжением.

4. Нажмите кнопку ОК. Макрос теперь автоматически распечатает рабочий лист указанное количество раз, изменяя последовательность в ячейке A1 каждый раз, так что каждая напечатанная страница будет пронумерована по порядку (например, Company-001, Company-002, Company-003, ... до Company-100, в зависимости от вашего ввода и форматирования в макросе).

Дополнительные примечания и советы: В коде используется ячейка A1 для серийного номера. Любое существующее содержимое в A1 будет перезаписано первым новым номером последовательности, поэтому, если у вас есть информация, которую вы хотите сохранить, обязательно сделайте резервную копию этой ячейки перед запуском кода. Стандартный числовой префикс ("Company-00") можно изменить в коде VBA, чтобы он соответствовал вашему предпочтительному формату серийного номера; измените как текст, так и числовое заполнение по желанию. Будьте осторожны при использовании макроса в общих или защищенных книгах, поскольку выполнение макроса требует соответствующих разрешений. Если ваш принтер работает медленно, избегайте запуска скрипта с очень большим количеством копий, чтобы не перегружать очередь печати.

Если вы столкнетесь с проблемами, такими как задание на печать не начинается, номера не увеличиваются правильно или возникают ошибки, связанные с ссылками на ячейки, дважды проверьте, что макросы включены и ваш рабочий лист не защищен. Убедитесь, что вы правильно установили ячейку-ссылку (A1 в этом примере) перед запуском, и рассмотрите возможность сохранения вашей книги перед пакетными операциями, чтобы избежать случайной потери данных. Если требуется дальнейшая настройка (например, использование другой ячейки, числового формата или рабочего листа), измените ссылки на ячейки и строки форматирования в коде VBA соответствующим образом.

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP по нескольким значениям | Многолистовой поиск | Распознавание нечетких соответствий ...
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ...
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгой и листами | Библиотека автотекста | Выбор даты | Объединить данные | Зашифровать/расшифровать ячейки | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр жирный/курсив/зачеркнутый...) ...
Топ15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ полезных формул (Расчет возраста на основе даты рождения, ...) |19 инструментов для вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое
Используйте Kutools на предпочитаемом вами языке — поддерживает Английский, Испанский, Немецкий, Французский, Китайский и более40 других языков!

Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
  • Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!

Все надстройки Kutools. Один установщик

Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.

Excel Word Outlook Tabs PowerPoint
  • Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
  • Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
  • Совместная работа — максимальная эффективность между приложениями Office
  • 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек