Создание штрихкодов в Microsoft Excel возможно без специализированного ПО — достаточно стандартных инструментов программы и бесплатных надстроек. Если вам нужно сгенерировать EAN-13, Code 128 или Code 39 для инвентаризации, ценников или логистики, Excel справится с задачей за 5–15 минут. Главное — правильно подготовить исходные данные и выбрать метод: от простого форматирования текста шрифтом до автоматизации через VBA.
В этой статье разберём три рабочих способа с пошаговыми инструкциями: использование шрифтов штрихкода (самый быстрый вариант), формулы для расчёта контрольной суммы и макрос для пакетной генерации. Каждый метод протестирован на Excel 2019–2026 и Microsoft 365, включая веб-версию. Если вам нужен штрихкод для печати на этикетках или интеграции с 1С, обратите внимание на раздел про экспорт в графические форматы.
1. Подготовка данных: правила формирования штрихкода
Перед генерацией штрихкода проверьте исходные данные на соответствие стандартам. Ошибки в структуре кода приведут к тому, что сканер не сможет его считать. Основные требования:
- 📌 EAN-13: 13 цифр, последние из которых — контрольная сумма (рассчитывается автоматически). Пример:
4607001234567. - 📌 Code 128: поддерживает цифры, буквы и символы, длина варьируется. Обязательны стартовый/стоповый символы (например,
¬). - 📌 Code 39: только заглавные буквы, цифры и символы
- . $ / + %. Длина не ограничена, но требует символов*в начале и конце.
Если вы работаете с EAN-13, первые 2–3 цифры кодируют страну (например, 460–469 — Россия), следующие — предприятие, затем — товар. Контрольную сумму можно рассчитать вручную или с помощью формулы (раздел 3). Для Code 128 и Code 39 важно убедиться, что сканер поддерживает эти форматы — уточните это в технической документации устройства.
⚠️ Внимание: Не используйте пробелы, запятые или кириллицу в штрихкодах — большинство сканеров их не распознаёт. Для кодирования кириллических данных (например, серийных номеров) применяйте PDF417 или DataMatrix, но их генерация в Excel требует сторонних надстроек.
2. Способ 1: Штрихкод через специализированные шрифты
Самый простой метод — использование шрифтов, преобразующих текст в штрихкод. Подходит для Code 39, Code 128 и некоторых других форматов. Преимущества: не требует формул или макросов, работает в любых версиях Excel. Недостаток: штрихкод остаётся текстом (не графикой), что может вызвать проблемы при печати на некоторых принтерах.
Инструкция:
- Скачайте бесплатный шрифт для штрихкода:
.ttf → "Установить").ABC123 (для Code 39 обязательны звёздочки!).24–36 pt для читаемости.Пример для Code 39:
="" & A1 & ""
Где A1 — ячейка с вашим кодом (например, PROD001). Звёздочки добавятся автоматически.
Установлен ли шрифт в системе?|Добавлены ли старт/стоп символы (* для Code 39)?|Размер шрифта не менее 24 pt?|Печать тестовая на обычном принтере прошла успешно?-->
3. Способ 2: Формулы для расчёта контрольной суммы (EAN-13)
Для EAN-13 контрольная сумма (последняя цифра) рассчитывается по алгоритму:
- Суммируйте цифры на чётных позициях (2-я, 4-я, 6-я и т.д.).
- Умножьте результат на 3.
- Сложите с суммой цифр на нечётных позициях.
- Округлите до ближайшего кратного 10 — разница и есть контрольная цифра.
Формула для Excel:
=ОКРУГЛВНИЗ((СУММПРОИЗВ(--НЕЧЁТ(A1);{1;3;5;7;9;11}) + СУММПРОИЗВ(--ЧЁТН(A1);{3;1;3;1;3;1}))/10;0)*10 -
(СУММПРОИЗВ(--НЕЧЁТ(A1);{1;3;5;7;9;11}) + СУММПРОИЗВ(--ЧЁТН(A1);{3;1;3;1;3;1}))
Где A1 — ячейка с первыми 12 цифрами кода. Например, для 460700123456 формула вернёт 7, и полный код будет 4607001234567.
| Исходный код (12 цифр) | Контрольная сумма | Полный EAN-13 |
|---|---|---|
460700123456 | 7 | 4607001234567 |
482000112233 | 1 | 4820001122331 |
460123456789 | 0 | 4601234567890 |
⚠️ Внимание: Если вы генерируете штрихкоды для торговли (например, для Wildberries или Ozon), уточните требования к контрольной сумме — некоторые платформы используют собственные алгоритмы.
4. Способ 3: Автоматизация через VBA (для пакетной генерации)
Если нужно создать сотни штрихкодов, используйте макрос. Приведённый ниже код генерирует Code 128 и сохраняет его как изображение в отдельной папке. Преимущество: штрихкод становится графическим объектом, который можно вставлять в документы или печатать на этикетках.
Инструкция:
- Нажмите
Alt + F11, чтобы открыть редакторVBA. - Вставьте новый модуль: "Insert" → "Module".
- Скопируйте код ниже.
- Запустите макрос (
F5) и укажите диапазон с данными.
Sub GenerateBarcode()
Dim rng As Range, cell As Range
Dim barcode As String
Dim imgPath As String
Dim i As Integer
' Укажите диапазон с данными
Set rng = Selection
' Папка для сохранения изображений
imgPath = "C:\Barcodes\" & Format(Now(), "yyyy-mm-dd") & "\"
If Dir(imgPath, vbDirectory) = "" Then MkDir imgPath
i = 1
For Each cell In rng
barcode = "" & cell.Value & "" ' Для Code 39
' Здесь можно подключить библиотеку для генерации изображения
' Пример с использованием ActiveBarcode (требует установки)
' ActiveBarcode1.CodeType = 4 ' Code 128
' ActiveBarcode1.Text = cell.Value
' ActiveBarcode1.SaveAs imgPath & cell.Value & ".png", 1
' Альтернатива: экспорт в PDF через Excel
cell.Font.Name = "Code 128"
cell.Font.Size = 36
cell.ExportAsFixedFormat Type:=xlTypePDF, Filename:=imgPath & cell.Value & ".pdf"
i = i + 1
Next cell
MsgBox "Сгенерировано " & i - 1 & " штрихкодов в папке " & imgPath, vbInformation
End Sub
Для полноценной работы макроса потребуется установить библиотеку ActiveBarcode (бесплатная версия доступна на официальном сайте). Альтернатива — экспорт ячеек со шрифтом штрихкода в PDF (как в примере выше).
Как установить ActiveBarcode
1. Скачайте установщик с официального сайта.
2. Запустите файл и следуйте инструкциям (выберите опцию "Register for free").
3. В редакторе VBA подключите библиотеку: "Tools" → "References" → найдите "ActiveBarcode Control".
4. Добавьте на форму элемент ActiveBarcode (вкладка "Insert" → "UserForm").
5. Экспорт штрихкодов для печати
Сгенерированные штрихкоды нужно правильно экспортировать, чтобы они читались сканером. Рекомендации:
- 🖨️ Для этикеток: Используйте
PDFс разрешением не менее300 dpi. В настройках печати Excel выберите "Сохранить как PDF" и отметьте "Высшее качество". - 📄 Для документов Word: Скопируйте ячейку со штрихкодом (со шрифтом) и вставьте как "Картинку" (правая кнопка → "Специальная вставка").
- 📦 Для логистики: Если штрихкоды будут сканироваться с экранов (например, на складе), увеличьте контрастность: чёрный текст на белом фоне, без градиентов.
Проблемы при печати и решения:
| Проблема | Причина | Решение |
|---|---|---|
| Сканер не считывает код | Низкое разрешение печати | Печатайте с 600 dpi или выше |
| Код распознаётся как другой | Ошибка в контрольной сумме | Проверьте формулу расчёта |
| Линии штрихкода размыты | Неподходящий шрифт | Используйте векторные шрифты (например, IDAutomationHC39M) |
Если штрихкод будет использоваться на упаковке, добавьте вокруг него "тихие зоны" — пустое пространство шириной не менее 3 мм. Это требование стандарта ISO/IEC 15420 для корректного сканирования.-->
6. Проверка штрихкода перед использованием
Перед массовой печатью протестируйте штрихкод на:
- Читаемость: Отсканируйте код 3–5 раз разными устройствами (ручным сканером, смартфоном с приложением Barcode Scanner).
- Соответствие стандарту: Проверьте контрольную сумму на сайте GS1.
- Масштабируемость: Распечатайте код в разных размерах (от
1x1 смдо5x5 см) и проверьте сканирование.
Для автоматической проверки используйте формулу:
=ЕСЛИ(ДЛСТР(A1)=13; "Корректно"; "Ошибка: неверная длина")
Где A1 — ячейка с EAN-13. Для Code 39 проверьте наличие звёздочек:
=ЕСЛИ(И(ЛЕВСИМВ(A1)=""; ПРАВСИМВ(A1)=""); "Корректно"; "Ошибка: нет старт/стоп символов")
Шрифты (Code 39/128)|Формулы Excel (EAN-13)|Макросы VBA|Сторонние сервисы (например, Barcode Monkey)-->
7. Альтернативные решения: когда Excel не подходит
Excel удобен для разовых задач, но для регулярной работы со штрихкодами рассмотрите специализированные инструменты:
- 🛠️ Barcode Monkey (онлайн-генератор): Бесплатно создаёт QR, EAN, UPC в формате
PNG/SVG. - 📦 Labeljoy: Программа для дизайна этикеток с поддержкой баз данных (интеграция с Excel).
- 🤖 1С:Предприятие: Если штрихкоды нужны для учёта, настройте печать прямо из 1С (модуль "Штрихкодирование").
Excel стоит использовать, если:
- 📊 Нужно сгенерировать до 100 штрихкодов.
- 🔄 Данные хранятся в таблице и часто обновляются.
- 💰 Бюджет на ПО ограничен (все методы из статьи бесплатны).
Excel подходит для генерации штрихкодов Code 39, Code 128 и EAN-13 без дополнительных затрат. Для массовой печати (тысячи этикеток) или сложных форматов (DataMatrix, PDF417) используйте специализированные программы.-->
FAQ: Частые вопросы
Можно ли создать QR-код в Excel?
Да, но только с помощью VBA или надстроек. Стандартными средствами Excel QR-коды не генерируются. Рекомендуем использовать бесплатные онлайн-сервисы (например, GOQR) и вставлять готовые изображения в таблицу.
Почему сканер не считывает штрихкод, сгенерированный шрифтом?
Вероятные причины:
- Не хватает "тихих зон" (пустого пространства вокруг кода).
- Слишком маленький размер шрифта (менее
24 pt). - Используется не тот шрифт (например, Code 39 вместо Code 128).
- При печать снижено разрешение (нужно
300+ dpi).
Проверьте каждый пункт и перегенерируйте код.
Как автоматически заполнить контрольную сумму для 1000 штрихкодов?
Используйте формулу из раздела 3 и протяните её на весь столбец:
- Введите первые 12 цифр в столбце
A. - В ячейку
B1вставьте формулу контрольной суммы. - Протяните формулу до конца диапазона (двойной клик на маркер автозаполнения).
- В столбце
Cобъедините данные:=A1 & B1.
Для ускорения процесса запишите макрос (раздел 4).
Можно ли в Excel создать штрихкод для маркировки "Честный ЗНК"?
Нет, штрихкоды для системы Честный ЗНК (маркировка товаров в России) имеют специальный формат DataMatrix и генерируются только через официальный сервис или сертифицированное ПО (например, 1С или КриптоПро). Excel не поддерживает создание таких кодов.
Как экспортировать штрихкоды в 1С?
Способы интеграции:
- 📥 Импорт из Excel: Сохраните штрихкоды в столбце, экспортируйте в
CSVи загрузите в 1С через "Загрузка данных". - 🔄 Обмен через COM-соединение: Настройте макрос в Excel для прямой передачи данных в 1С (требуются знания
VBA). - 🖼️ Печать этикеток: Сгенерируйте штрихкоды как изображения, сохраните в папку и подключите её в 1С как внешний источник.
Для автоматизации используйте обработки из Инфостарт.