У меня есть файл Excel, который изначально импортирует данные о запасах из нашей облачной бухгалтерской программы через веб-запрос .iqy.
Заголовки столбцов:
A1= Quantity B1= Item C1= Description D1= Bin Code
Теперь я создал макрос, который;
Обновить данные
Range("A1").QueryTable.Refresh False
Удалить все товары с нулевым запасом
Dim intRow Dim intLastRow intLastRow = Range("A65536").End(xlUp).Row For intRow = intLastRow To 1 Step -1 Rows(intRow).Select If Cells(intRow, 1).Value = 0 Or Cells(intRow, 1) = "" Then Cells(intRow, 1).Select Selection.EntireRow.Delete End If Next intRow
Автосортировка по бин-коду
Range("A1:D1").Select Selection.AutoFilter Range("A2").Select Range("A1:D1668").Sort Key1:=Range("D1"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal
Сохранить главный список
Dim sFileName As String, sPath As String sPath = "C:\stock\ms\Master List " sFileName = Format(Now(), "dd'mm'yy") ActiveWorkbook.SaveAs (sPath & sFileName)
Теперь это сложный момент,
Необходимо проверять не менее 30 единиц в день, однако корзина не может быть неполной! Таким образом, после выбора 30 элементов скрипту необходимо проверить, находится ли следующий элемент в той же корзине, что и 30-й элемент, и включить его в извлечение. Допустим, элемент 30 находится в корзине 10A2, а также элемент 31, 32, 33, 34, поэтому в целом 34 элемента (строки) необходимо извлечь в новую книгу и сохранить.
Этот процесс должен начинаться с образца предыдущих дней, поэтому механика должна выглядеть так:
посмотрите в c \ stock \ sl \ Sample List -1 dd'mm'yy образец списка за -1 день, посмотрите на номер ячейки последнего элемента, скажем 10A1,
возьмите номер ячейки следующих строк, 10A2,
из первой строки, которая имеет 10A2, выберите 30 строк,
Продолжайте, пока номер ячейки не изменится.
сохраните этот файл как Sample List dd'mm'yy в c \ stock \ sl \
отправить по электронной почте образец списка dd'mm'yy на [email protected]
Это должно иметь возможность повторяться. Также в субботу и воскресенье компания закрыта, поэтому по понедельникам следует вспомнить пятницу и т. Д., Также учитывая государственные праздники.
Любая помощь с этим спасет жизнь? Я не возражаю, если вы хотите изменить имена файлов, чтобы решить эту проблему с праздниками. Однако где-то для файлов необходимо поставить отметку времени.