Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Запуск макроса по событию сканера штрихкода, Определение команды отправленной сос канера.
 
Добрый день.
Имеется 2 рабочих места сос сканерами штрих кода. Один сканер записывает штрих коды в любой текстовый редактор и макрос запускается.
другой сканер работает иначе он ни как не пишет текст в редактор и поэтому не возможно определить событие что сканер сработал.
https://excelvba.ru/programmes/BarcodeScanner нашел готовый код, но он не подходит слишком много кнопок .
Как определить сработку сканера для запуска макроса.
Р.С. сканер перестроить ввод цыфр не удается хоть и с 1С сканер отлично работает.
Код
Private Sub TextBox1_Change()
If Not Len(TextBox1.Value) = 13 Then
    Label1.Caption = "Макрос НЕ сработает"
    Exit Sub
End If
Label1.Caption = "Макрос сработает"
End Sub
Изменено: Максим Колесников - 12.10.2025 12:55:58
Не внимателен при вводе текста хорошо что есть F7
Создание иконки файла макросом, Прописать путь и оформить иконку
 
Добрый день.
Создаю сортировщик файлов.
для чего необходимо на листе ячеек необходимы иконки файлов и их путь.
добавление принял для себя через: Вставка>Объект>Package.
но Маркрекордер не прописывает путь к файлу и иконку. Как это можно воплотить макросом.
емли есть альтернативы тоже готов услышать.
Не внимателен при вводе текста хорошо что есть F7
Управление книгами макросами файла PERSONAL.XLSB, Запуск макроса при закрытии сторонней книги.
 
Добрый день.
Имеются ведомости которые были созданы давно. Они имеют свои макросы которые ранее работали , но так как эти файлы попадают разным людям бывают образуются ошибки. И теперь создал макрос который будет хранится только у 5 наших сотрудников в файле PERSONAL.XLSB . Мой макрос чистит те файлы и создает новую ведомость по новому формату.
На открытие мой макрос отлично работает.
Код
Private WithEvents App As Application
Код
Private Sub Workbook_Open()
 Set App = Application
End Sub
Код
Private Sub App_WorkbookOpen(ByVal wb As Workbook)
Set myCell = wb.Sheets(1).Range("A1:Z8").Find("*ВЕДОМОСТЬ*")
If Not myCell Is Nothing Then
MsgBox wb.Name & "     Нашел, этот файл надо обработать"
'здесь идет обработка файла макросом снятие пароля с листа, форматирование и удаление всех макросов из файла
MsgBox wb.Name & "     Обработано, все Готово"
End If
End Sub


Как сделать так, чтобы запускался макрос  в файле PERSONAL.XLSB на закрытие ведомости т.е. (сторонней книги). Там будет следующая обработка (скрытие столбцов, установка пароля листа и тд)
Не внимателен при вводе текста хорошо что есть F7
Защита проекта макросом, Снятие защиты с проекта сторонней книги
 
Добрый день.
Кодом ниже снимаю защиту с АКТИВНОГО ПРОЕКТА, а не "АКТИВНОЙ КНИГИ". Необходимо снять с активной книги.

Код
Sub Modules()
Dim wb2 As Workbook
Dim vbp As Object
Set wb2 = ActiveWorkbook
Set vbp = wb2.VBProject
If vbp.Protection <> 1 Then Exit Sub
Set Application.VBE.ActiveVBProject = vbp ' ошибка полагаю здесь  надо не "ActiveVBProject "  вопрос что?
SendKeys "2000" & "~~"
Application.VBE.CommandBars(1).FindControl(ID:=2578, _
recursive:=True).Execute
End Sub
Не внимателен при вводе текста хорошо что есть F7
Примечания в письмах OUTLOOK, Вывод поля отображающего примечание
 
Добрый день.
Вопрос комбинированный по VBA/OUTLOOK
При помощи команды:
Код
objSelection.Item(k).BillingInformation = "Зарегистрировано"
Делаются разного рода пометки в письмах.
Какому полю в OUTLOOK принадлежат эти пометки.
Другими словами какой столбец включить чтобы видеть в списке писем OUTLOOK эти пометки.
Спасибо
Не внимателен при вводе текста хорошо что есть F7
Остановка работы макроса отправки почты
 
Добрый день.
Макросом формируется письмо для отправки.
   
Код
With objMail
        '.To = sTo 
        '.CC = "08@mail.ru" 
        '.BCC = "" 
        .Subject = nameMAIL '
        '.Body = sBody '
        '.HTMLBody = sBody 
  
        If Dir(ActiveWorkbook.FullName, 16) <> "" Then
            .Attachments.Add x 
           
        End If
     
        .Display ',ОТОБРАЗИТЬ ПИСЬМО И ЖДАТЬ ОЖИДАНИЯ ОТПРАВКИ ИЛИ ЗАКРЫИМЯ ОКНА
    End With
 В определённый момент необходимо остановить работу макроса и ожидать действия отправки письма либо закрытия окна отправки и выхода из макроса.
Не внимателен при вводе текста хорошо что есть F7
Сохранить письмо из .Outlook. в формате .msg как объект в папку
 
Макрос создает список исходящих писем из Outlook. Какой командой можно сохранить все или одно (неважно) письмо  из под эксель т.е. без написания макроса в Outlook.
Формат письма (.msg)
Не внимателен при вводе текста хорошо что есть F7
Как отслеживать пошагово работу макроса при его автоматическом запуске вместе с открываемой книгой
 
Добрый день.

Есть макрос который работает при открытии книги. необходимо пошагово отслеживать как при нажатии F8 действие макроса.
Проблема в том что если я не подтверждаю действие макроса, то он в ручную и не запускается.
Пример прилагаю.
Изменено: Максим Колесников - 29.11.2021 14:37:26
Не внимателен при вводе текста хорошо что есть F7
Отключение всех таймеров, Сбросить все ранее запущенные таймеры
 
Добрый день.
Строка:
Код
 Sub timmer()
 
 Application.OnTime Now + TimeValue("00:00:03"), "TEST"
 MsgBox ("прошло 4 секунды")
 End Sub
 
 Sub TEST()
 Application.OnTime Now + TimeValue("00:00:04"), "timmer"
MsgBox ("прошло 3 секунды")
 End Sub
 

Запускает таймер отложенного запуска макроса.

Как определить и отключить все запущенные таймеры и отключить их.
Файл примера как смог придумал. Добавил
Изменено: Максим Колесников - 24.11.2021 16:31:09
Не внимателен при вводе текста хорошо что есть F7
Как задать массивом перечень удаляемых символов, Удалить текст из ячейки
 
Добрый день
Удаляю тест методом подстановки символов  "пустотой". Использую следующий код:
Ранее в кавычках писал символы которые надо подставить, но это неудобно когда надо 33 русских букв написать 27 английских и тд.
Как задавать диапазон символов массивом
!(A-Z)],   [!(А-Я)],    [!(0-9)] итд
Код
a = Array("[!(А-Я)]", "[!(A-Z)]")
s = Cells(1, 1)
For Each el In a: s = Replace(s, el, ""): Next
Изменено: vikttur - 23.08.2021 14:22:27
Не внимателен при вводе текста хорошо что есть F7
Как найти порядковый номер символа или кода Chr(10)
 
Добрый день

пытаюсь получить  из значений столбца А значения столбца В. Но для этого надо отследить переход на новую строку.
Как можно отследить порядковый номер символа перехода на новую строку?
Я осуществляю поиск следующим способом:
Код
WorksheetFunction.Search(Chr(10), Cells(1, 1))
Изменено: vikttur - 22.06.2021 20:30:09
Не внимателен при вводе текста хорошо что есть F7
Как задать параметры сканирования в коде с последующим запуском санирования, задать параметры сканера
 
Добрый день.
Осуществляю сканирование через WIA. Выводится окно с заданием параметров сканирования.
Код
Set objCommonDialog = New WIA.CommonDialog
Set objImage = objCommonDialog.ShowAcquireImage

Как задать параметры сканирования в коде с последующим запуском санирования?

Даже более важно просто запустить сканирование, картинку можно обработать и в приложении автоматически.
Изменено: Максим Колесников - 18.06.2021 15:24:00 (Нет комментариев долгое время.)
Не внимателен при вводе текста хорошо что есть F7
Окно мультивыбора. Связь выбраных строк с окном выбора
 
Есть список на скрытом листе. (Для удобства в примере расположил на одном). Задача в том что при выборе позиции в ячейке отображается индекс что позиция выбрана например "Активно".
В интернете много примеров с мультивыбором в данную ячейку. Но это не удобно так как потом для дальнейшего использования необходимо их разделять.

См. пример ниже
Не внимателен при вводе текста хорошо что есть F7
Счет позиций в массиве, Счет заполненных позиций по пересечению условий
 
Есть массив заполненных значений.
Условия как в столбцах так и в строках (удовлетворяющие условия помечены зеленым)
Необходимо посчитать количество ячеек с условием 10( может больше 10)
создал для столбца все работает а когда диапазон расширил перестало работать . ввод как массив не работает.
Не внимателен при вводе текста хорошо что есть F7
Поиск позиции с конца массива., Применение функции ПОИСКПОЗ
 
Добрый день.
Вроде вопрос прост, а решить не могу.  Есть не отсортированный массив в котором необходимо найти первое вхождение значения  с конца массива.
Изменено: Максим Колесников - 11.03.2021 09:40:52
Не внимателен при вводе текста хорошо что есть F7
Двухуровневый список при горизонтальном массиве, Повторяющиеся значения и горизонтальный массив
 
Есть массив с перечнем компаний которые повторяются и имеют по несколько номеров договора. Как сделать двойной выпадающий уникальный список  список с выбором компании, и выбором договора у этих компаний.
Не внимателен при вводе текста хорошо что есть F7
Подставлять в цикле значения объявленных цветов
 
Добрый день.
Есть список цветов для условного форматирования  которое объявляю до цикла. Потом в зависимости от шага цикла хочу чтобы подставлялись значения объявленных цветов.
Но выдает ошибку при подставке составной/определении переменной..
Код
Sub Макрос88883()
'Список цветов
COL1 = 10027008
COL2 = 16711680
COL3 = 2704713
COL4 = 8014176
COL5 = 411543
COL6 = 8421504
COL7 = 3969910
COL8 = 682978
COL9 = 10192433
COL10 = 5540500
COL11 = 14136213
COL12 = 13082801
COL13 = 14336204

  Range("A6:W10").Select
    
    For i = 1 To 10
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=И(" & i & "=$t6;$W6=""Да"")"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
   
    ' ОШИБКА ЗДЕСЬ Составная запись подставки цветов
        .ThemeColor = "COL" & 13 - i
        .TintAndShade = 0   
    End With
    Selection.FormatConditions(1).StopIfTrue = False
Next i
End Sub
Изменено: Максим Колесников - 27.01.2021 12:52:01
Не внимателен при вводе текста хорошо что есть F7
Собрать данные с листов с разным окончанием в их именах
 
Добрый день.
Есть Главный лист в котором стоит формула "как мне хотелось бы " чтобы собирала количество заполненных ячеек в столбце А. Ссылаясь на все листы "Лист"&"*" с любым окончанием названия листа.
ПС эта формула часть длинной формулы поэтому глобально менять на другую не хочется.
Код
=СЧЁТЗ(ДВССЫЛ("Лист"&"*"&"'!A:A";ИСТИНА))
Не внимателен при вводе текста хорошо что есть F7
Поиск первой заполненной ячейки, ПОИСК ПОЗ выдает ошибку
 
Добрый день. Вопрос вроде бы простой НО  все таки не работает. В примере видно, что ПОИСКПОЗ выдает ошибку.  а должен выдавать "2" т.е. номер строки коротая имеет значение
Не внимателен при вводе текста хорошо что есть F7
Остановка работы макроса при любой ошибке вмакросе
 
Добрый день.
Есть ряд макросов которые обрабатывают данные на листе.
С этими макросами работают разные пользователи. Сам макрос защищен паролем чтобы вы него ни кто не лез. поэтому кнопке и поэтому Debug неактивно чтобы остановить макрос. End ни как не меняет ситуацию. И приходится отключать эксель через диспетчер задач. А зачастую у пользователей открыты еще книги где данные не сохранены и сохранять их неправомерно так как не известно надо это пользователю или нет.
Пользователи могут вносить данные в таблицу и допуска разного рода ошибки ( пробелы, точки вместо запятых, буквы вместо цифр и т.д.)
Пытался ограничить пользователей и заставить из выполнять правила ввода данных, но всем не объяснишь к тому же пользователи прибавляются, а инструкции читать не любят.
Добавлять везде
Код
On Error Resume Next  
Немного трдозатратно.
Есть ли какая-то строка которую ставить в начале макроса и в случае ошибки он останавливал работу макроса. Ну или выводит какое-то сообщение
Файл с ошибкой приложил , но вряд ли он нужен
ПАРОЛЬ 1111
Изменено: Максим Колесников - 04.09.2020 12:28:52
Не внимателен при вводе текста хорошо что есть F7
Макрос перебора ячеек, Как задать переменную правильно
 
Добрый день.
Прошу Вас подскажите как можно ускорить работу части макроса.
Во вложении пример где уже стоит полный текст макроса. при нажатии клавиши он совершит работу и выдаст затраченное время.
Код
Gran = Evaluate("COUNTA(E6:E2708)+9") ' определяю границу обрабатываемых ячеек по наличию в ней каких либо данных
 For Each ccel In Range("n9:n" & Gran) ' цикл
                     Set d = ccel.Offset(0, -2)    'объявление переменных 
                     Set g = ccel.Offset(0, -7)
                     Set j = ccel.Offset(0, -3)
                     Set k = ccel.Offset(0, -4)
            If ccel = "Да" Then             ' проверяем если"Да" в определенной ячейке
d.FormulaR1C1 = "=RC[1]"                    ' выполняем действие с ячейкой (очистка или вставка формулы или смена формата
j.Clear
k.Clear
Else
g.Value = Round(g.Value, 2)                 ' выполняем действие с ячейкой (очистка или вставка формулы или смена формата
g.NumberFormat = "General"
End If
Next ccel                                                     'переходим к следующей
Изменено: Максим Колесников - 13.07.2020 18:36:25
Не внимателен при вводе текста хорошо что есть F7
Получение почты макросом в Excel, цель: обмен данными между подрядчиком и заказчиком
 
Добрый день.
Есть макросы которые отправляют почту разными способом (видел 3 способа)

А есть ли макросы которые принимают почту и работою с вложенным файлом или хотя бы с текстом письма.? желательно не через Outlook на прямую с сервера mail.ru
Сортировать можно по теме.
Если есть через Outlook то можно ли макросом создать настройку профиля в Outlook?
Не внимателен при вводе текста хорошо что есть F7
Удаление макросов макросом, Удаление макросов без пересохранения в XLSX
 
Видел разные коды по удалению Макросов Макросом, но ни один не работает.
Это ругается на третью строку. For Each.......
Код
Sub Delete_VBA()
  Dim oVB As Object
    For Each oVB In ActiveWorkbook.VBProject.VBComponents
        On Error Resume Next
        With oVB
            If .Type = 1 Or .Type = 2 Or .Type = 3 Then .Collection.Remove oVB 'модули, классы, формы
            If .Type = 100 Then .CodeModule.DeleteLines 1, .CodeModule.CountOfLines 'книга, листы
        End With
    Next
    Set oVB = Nothing
End Sub
Макросы без паролей. книга без защиты. На форумах сообщают что у них работает.
Не внимателен при вводе текста хорошо что есть F7
Добавление формулы к текущему значению ячейки
 
Задача состоит в следующем: добавить к текущему значению ячейки, где нет формул, формулу (в моем случае необходимо умножить все на "L2")
написал следующий макрос
те было "3" стало "L2*3", а если было "=3+6" то осталось "=3+6". макрос работает , но только если в ячейке число целое, проблема если есть дробное с "запятой". Останавливается макрос и выдает ошибку в строке U.Value = "=L2*" & U.Value
Код
Sub Workbook_()
For Each U In Range("D9:E20") 'задал диапазон
If Not U.Find("=") Is Nothing Then 'нашел яейку с формулой и пропустил ее
Else
U.Value = "=L2*" & U.Value  'СЦЕПИЛ текущее значение и аргумент формулы (ОШИБКУ ПИШЕТ ЗДЕСЬ)
End If
Next
End Sub
Не внимателен при вводе текста хорошо что есть F7
Страницы: 1
Наверх