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

Страницы: 1 2 След.
Создание чека в Excel
 
MikeVol, Огромное спасибо!!! Все отлично работает. Все остальное отредактирую как нужно.
Спасибо еще раз за отклик!
Создание чека в Excel
 
MikeVol, Здравствуйте! Я вас тоже рад видеть!
Знаю что зло, но так нужно.
Скидываю проект с формами. Если что это тестовый из ранних  
Изменено: Павел Павлов - 01.06.2025 14:01:18
Создание чека в Excel
 
Доброго времени суток! Продолжаю дальше работать над файлом "POS в Excel", при создании макроса, который отвечает за создание чека немного столкнулся с проблемой:
Сейчас чек формируется как на изображении слева, а нужно сделать, так как справа.
То есть чтобы "наименование" выпадало на 2 строки, а под "ценой" и "суммой" выпадала "скидка"
Пробовал по-разному, пока не получается. Вдруг кто неравнодушный знает, как это сделать.
Буду очень благодарен!!!
Файлы прикрепил
Скорость выполнения макроса
 
Добрый вечер! Есть файл в который добавил код ChangeInterface .  Работает с задержкой в первом файле, который содержит листы "СИСТЕМА" и "ЧЕК". А во втором, который без этих листов работает как надо.
Кто знает как это можно решить( удалять листы не вариант)?
Файлы прикрепил
Буду очень благодарен за помощь!!!
Изменено: Павел Павлов - 20.07.2024 22:36:19
Активировать TextBox в Userform
 
Один коллега дополнил этот код. Если вдруг кому-то пригодиться

Код
Private Sub TextBox1_Change()
 On Error GoTo ErrorHandler
    Dim allowedValues As Variant
    Dim inputValue  As String
    Dim matchFound  As Boolean
    Dim i           As Long

    allowedValues = Array("Значени1", "Значени2", "Значени3", "Значени4")
    inputValue = Me.TextBox1.Value
    matchFound = False

    For i = LBound(allowedValues) To UBound(allowedValues)

        If inputValue = allowedValues(i) Then
            matchFound = True
            Exit For
        End If

    Next i

    If matchFound Then
        Me.Hide

        Select Case inputValue
            Case "1324"
                UserForm1.Qwerty.Caption = "Значени1"
            Case "5221"
                UserForm1.Qwerty.Caption = "Значени2"
            Case "5322"
                UserForm1.Qwerty.Caption = "Значени3"
            Case "4123"
                UserForm1.Qwerty.Caption = "Значени4"
        End Select

        Application.OnTime Now, "ТЕРМИНАЛ"
        Unload Me
    End If

    Exit Sub
ErrorHandler:
    MsgBox "Произошла ошибка: " & Err.Description

    With Workbooks(TargetBook)
       
       
        .Close savechanges:=False
    End With

End

 
  
End Sub
Изменено: Павел Павлов - 26.05.2024 21:13:56
Активировать TextBox в Userform
 
evgeniygeo, Огромное вам спасибо!!! Все отлично работает.
Активировать TextBox в Userform
 
evgeniygeo,  Открываем файл, запускаем форму Пользователь, вводим "1324" или "5221", запускается Терминал, и здесь ячейка код (ItmScan) не работает(
Куда только не выгружал форму Пользователь, бестолку. Как то так
За первую решенную проблему еще раз спасибо!
Активировать TextBox в Userform
 
Большое спасибо! С первой проблемой решили, но осталась вторая(
Активировать TextBox в Userform
 
Всем здравствуйте!
Хочу автоматизировать проект, но столкнулся с проблемой.
1. Как выполнить данный макрос при вводе в TextBox1 в Userform (Пользователь), например одну из трех комбинаций: "1122" или "1321" или "1451" или ...
После одного из правильного варианта должна открыться Userform1
2. После запуска Userform1, нужно чтобы макрос ItmScan_Change работал как и при обычном запуске формы. Выгрузить форму Пользователь (Unload Me) куда только не пробывал ставить, не помогает!

Файл прилагаю

Если кто знает как это сделать, буду благодарен!
Заранее спасибо!
 
Изменено: Павел Павлов - 20.05.2024 00:27:31
Подсчет разницы через Vba
 
Добрый вечер, подскажите пожалуйста, как нужно исправить код чтобы заполнялись все ячейки?
На листе "РЕЕСТР ПРОДАЖ" после оплаты в столбце "J" должна считаться разница цен, считается только одна такая строка.
Часть кода которая отвечает за заполнение начинается с "For W = 3 to ...."
Файл прилогаю
Если кто знает как исправить буду благодарен
Код
Sub SubtractAllQuantities()
    Dim sheet1      As Worksheet: Set sheet1 = ThisWorkbook.Sheets("КАРТОЧКА ТОВАРА")
    Dim sheet2      As Worksheet: Set sheet2 = ThisWorkbook.Sheets("СИСТЕМА")
    Dim sheet3      As Worksheet: Set sheet3 = ThisWorkbook.Sheets("РЕЕСТР ПРОДАЖ")
    Dim lastRow1    As Long
    Dim rng As Range, X As Long
    lastRow1 = sheet1.Cells(Rows.Count, "A").End(xlUp).Row
    Dim lastRow2    As Long
    lastRow2 = sheet2.Cells(Rows.Count, "A").End(xlUp).Row
    Dim lastRow3    As Long
    lastRow3 = sheet3.Cells(Rows.Count, "E").End(xlUp).Row
    Dim I As Long, J As Long, W As Long, Y As Long
    Application.ScreenUpdating = False
    ' пройти по каждому ID номеру на втором листе
    For I = 2 To lastRow2

        ' пройти по каждому ID номеру на первом листе
        For J = 3 To lastRow1

            ' если ID номера совпадают, вычесть количество на втором листе из количества на первом листе
            If sheet1.Cells(J, "A").Value = sheet2.Cells(I, "A").Value And sheet2.Cells(I, "E").Value < sheet1.Cells(J, "D").Value And sheet2.Cells(I, "c").Value = sheet1.Cells(J, "H").Value Then
            sheet1.Cells(J, "C").Value = sheet1.Cells(J, "C").Value - sheet2.Cells(I, "D").Value * sheet1.Cells(J, "E").Value
            Else
            If sheet1.Cells(J, "A").Value = sheet2.Cells(I, "A").Value Then
                sheet1.Cells(J, "C").Value = sheet1.Cells(J, "C").Value - sheet2.Cells(I, "D").Value
                 If sheet1.Cells(J, "C").Value <> 0.001 Then
                sheet1.Cells(J, "C").Value = "0"
                End If
               
                Exit For
                
            End If
End If
        Next J

    Next I
    For X = 3 To lastRow1
    If sheet1.Cells(X, "C").Value < 0.001 Then
                sheet1.Cells(X, "C").Value = "0"
                End If
               Next X
               
     For W = 3 To lastRow1
     For Y = 4 To lastRow3
     If sheet1.Cells(W, "A").Value = sheet3.Cells(Y, "E").Value Then
     sheet3.Cells(Y, "J").Value = (sheet1.Cells(W, "D").Value - sheet1.Cells(W, "I").Value) * sheet3.Cells(Y, "G").Value
     Exit For
     End If
     Next Y
     Next W
    
  
    Application.ScreenUpdating = True
End Sub

Изменено: Павел Павлов - 28.03.2024 23:31:14
QR-код в эксель
 
Добрый вечер, доработал проект по созданию ценников, но не знаю как добавлять на них QR-Код. Приблизительно хочу так. А еще как объеденить ячейки как на фото?
Если кто знает помогите пожалуйста, буду очень благодарен!!!
Вот файл
Ценники в эксель
 
Павел Павлов, Скажите пожалуйста
Как сделать чтобы после добавления листа с ценниками на  него добавилась Сommonbutton?
Изменено: Павел Павлов - 30.07.2023 21:46:03
Ценники в эксель
 
Alice Sadman, Спасибо за исправление
Ценники в эксель
 
Sanja, Cпасибо большое, все работает прекрасео!
Ценники в эксель
 
Добрый вечер!
Создан шаблон для печати ценников, работает отлично, только не знаю, как сделать,что бы количество ценников формировалось из соответствующего столбца. В данном случае это Столбец "В" на Листе "Товары".
Вот сам файл.
Если кто знает как это задействовать с помощью VBA, помогите пожалуйста!
Не дублировать строку
 
MikeVol, Thank you very much!)
Не дублировать строку
 
MikeVol, как можно сократить данный момент, чтобы не писать таких строк 100?
Код
If Range("A2").Value = Me.TextBox1.Text And Range("C2").Value = Me.TextBox4.Text Then
 MsgBox "l"
 Exit Sub
 Else
 If Range("a3").Value = Me.TextBox1.Text And Range("C3").Value = Me.TextBox4.Text Then
 MsgBox "l"
 Exit Sub
 Else
 If Range("a4").Value = Me.TextBox1.Text And Range("C4").Value = Me.TextBox4.Text Then
 MsgBox "l"
 Exit Sub
 Else
 If Range("a5").Value = Me.TextBox1.Text And Range("C5").Value = Me.TextBox4.Text Then
 MsgBox "l"
 Exit Sub
 Else
   Nrow = .Range("A9999").End(xlUp).Row + 1
    Sheets("СИСТЕМА").Range("L3").Value = AvailRow
    .Cells(Nrow, "A") = Me.TextBox1.Value
    .Cells(Nrow, "B") = Me.Label1
    .Cells(Nrow, "C") = Me.TextBox4
   
Удаление строки в Listbox
 
MikeVol, Большое спасибо) все отлично работает)
Удаление строки в Listbox
 
MikeVol, и на листе тоже
Не дублировать строку
 
MikeVol, Сделал через For each ....Next. Работает только с первой добавленной строкой.
Я думаю что это из-за неправильного "range" в цикле
Может знаете как исправить?
Код
AvailRow = Sheets("СИСТЕМА").Range("B999").End(xlUp).Row + 1
If Me.TextBox1 = "" Then Exit Sub
Set IM = Sheets("КАРТОЧКА ТОВАРА").Range("A:A").Find(Me.TextBox1.Value, , xlValues, xlWhole)
If IM Is Nothing Then
'do nothing
Else
'Add Itm in Boxes

IMROW = IM.Row
If Sheets("КАРТОЧКА ТОВАРА").Range("G" & IMROW).Value <= Me.TextBox3.Text + 0 Then
введено.Show

Exit Sub
Else
With Sheets("СИСТЕМА")
nrow = .Range("A9999").End(xlUp).Row + 1
For Each cc In .Range("A2:A100")
If cc = Me.TextBox1.Text = True Then UserForm5.Show
Exit For
Exit Sub
Next
 If cc = Me.TextBox1.Text = False Then
 
   
    Sheets("СИСТЕМА").Range("L3").Value = AvailRow
    .Cells(nrow, "A") = Me.TextBox1.Value
    .Cells(nrow, "B") = Me.Label1
    .Cells(nrow, "C") = Sheets("КАРТОЧКА ТОВАРА").Range("F" & IMROW).Value
   
Sheets("СИСТЕМА").Cells(nrow, "D") = Sheets("КАРТОЧКА ТОВАРА").Range("e" & IMROW).Value * Val(Me.TextBox3)
    
    .Cells(nrow, "D") = Me.TextBox3.Value
    .Cells(nrow, "E") = Sheets("КАРТОЧКА ТОВАРА").Range("D" & IMROW) * Sheets("КАРТОЧКА ТОВАРА").Range("e" & IMROW).Value
    .Cells(nrow, "F") = .Cells(nrow, "D") * .Cells(nrow, "E")
    On Error Resume Next
UserForm1.ListBox1.Column(2).TextAlign (1)
    UserForm1.ListBox1.RowSource = "ITTEM_NAME"
   
UserForm1.Label34 = Sheets("СИСТЕМА").Range("I1").Value
End If
Не дублировать строку
 
Всем добрый вечер, помогите пожалуйста.
Как сделать, чтобы после такой же строки не добавлялась такая же.
вот код если что
Код
Private Sub CommandButton1_Click()

AvailRow = Sheets("СИСТЕМА").Range("B999").End(xlUp).Row + 1
If Me.TextBox1 = "" Then Exit Sub
Set ITM = Sheets("КАРТОЧКА ТОВАРА").Range("A:A").Find(Me.TextBox1.Value, , xlValues, xlWhole)
If ITM Is Nothing Then
'do nothing
Else
'Add Itm in Boxes

ITMROW = ITM.Row
If Sheets("КАРТОЧКА ТОВАРА").Range("G" & ITMROW).Value <= Me.TextBox3.Text + 0 Then
введено.Show

Else
With Sheets("СИСТЕМА")
    newrow = .Range("A9999").End(xlUp).Row + 1
  Sheets("СИСТЕМА").Range("L3").Value = AvailRow
    .Cells(newrow, "A") = Me.TextBox1.Value
    .Cells(newrow, "B") = Me.Label1
    .Cells(newrow, "C") = Sheets("КАРТОЧКА ТОВАРА").Range("F" & ITMROW).Value
   
Sheets("СИСТЕМА").Cells(newrow, "D") = Sheets("КАРТОЧКА ТОВАРА").Range("e" & ITMROW).Value * Val(Me.TextBox3)
    
    .Cells(newrow, "D") = Me.TextBox3.Value
    .Cells(newrow, "E") = Sheets("КАРТОЧКА ТОВАРА").Range("D" & ITMROW) * Sheets("КАРТОЧКА ТОВАРА").Range("e" & ITMROW).Value
    .Cells(newrow, "F") = .Cells(newrow, "D") * .Cells(newrow, "E")
    On Error Resume Next
UserForm1.ListBox1.Column(2).TextAlign (1)
    UserForm1.ListBox1.RowSource = "ITTEM_NAME"
   
UserForm1.Label34 = Sheets("СИСТЕМА").Range("I1").Value
 Unload Me
 UserForm1.ItmScan.SetFocus
End With
End If
End If
End Sub
Изменено: Павел Павлов - 03.04.2023 21:36:26
Удаление строки в Listbox
 
Егор Чернов,   не работает  и пишет "неспецифическая ошибка"
Удаление строки в Listbox
 
Код
Private Sub CommandButton5_Click()
'   ---------------------------------
    Dim i&, j&, arr()
'   ---------------------------------
    For i = 0 To Me.ListBox1.ListCount - 1
        If Not Me.ListBox1.Selected(i) Then
            ReDim Preserve arr(j)
            arr(j) = Me.ListBox1.List(i)
            j = j + 1
        End If
    Next i
    Me.ListBox1.Clear
    Range("система").ClearContents
    If j = 0 Then Exit Sub
    Me.ListBox1.List = arr
    Range("система").Resize(j).Value = Application.Transpose(arr)
End Sub
Добрый вечер, не могу понять в чем ошибка
Может кто знает как исправить?
Перенос данных в Listview
 
Добрый вечер, подскажите как в этом файле, только не в Listbox, а в Listview  в userform1?
Поиск через Userform
 
MikeVol, Спасибо!)
Поиск через Userform
 
MikeVol, исправил все что было
Изменение положения текста в отдельном столбце в Listbox
 
Юрий М, Жаль(
Поиск через Userform
 
MikeVol,  я исправил
Изменение положения текста в отдельном столбце в Listbox
 
Егор Чернов,
В этом файле в Userform1, там есть LIstbox1, в нем нужно изменить.
как закрепить формулу через VBA
 
Как закрепить формулу "округвверхмат" на диапазоне ячеек "А2:А99999 через vba?
Страницы: 1 2 След.
Наверх