Я собираю некоторый код VBA для запуска макроса файла в Excel.Одно поле предназначено для определения количества строк, попадающих в определенный диапазон дат.Диапазон начинается с переменной «mydate», восходящей к 6 месяцам ранее.Mydate извлекается из имени пути к файлу.
Я попытался использовать макро-рекордер и скопировал код, но код привязан к дате и не использует переменную.Я попытался изменить дату начала на переменную, но это не дает мне ответ, который я хочу.
Sub CommandButton1_Click()
Range("A2").Value = "Total FG"
Range("A3").Value = "Total out of stock"
Range("A4").Value = "Total out of stock intro past 6 months (included in
Total out of stock"
Range("A5").Value = "Total out of stock less past 6 monnths introductions"
Range("A6").Value = "Percentage in stock not included new introductions"
Range("A7").Value = "Items in Transit"
Range("A8").Value = "Percentage in stock including items in transit"
Dim MyPath As String, mps As Variant, mps_temp As String, mydate As Date,
i As Integer
MyPath = "C:\Users\Kirank\Documents\Stock Feed
Analysis\HVL_Available_to_Sell_Report_with_Headers 2019.01.01"
mps = Split(MyPath, " ")
For i = LBound(mps) To UBound(mps)
mps_temp = mps(UBound(mps) - i)
If mps_temp Like "####.##.##" Then
mydate = DateSerial(Mid(mps_temp, 1, 4), Mid(mps_temp, 6, 2),
Mid(mps_temp, 9, 2))
Exit For
End If
Next
Range("B1").Value = mydate
Range("B2").Select
ActiveCell.FormulaR1C1 =
"=COUNT(HVL_Available_to_Sell_Report_wi!C[3])"
Range("B3").Select
ActiveCell.FormulaR1C1 =
"=COUNTIF(HVL_Available_to_Sell_Report_wi!C[3],0)"
Range("B4").Select
ActiveCell.FormulaR1C1 =
"=COUNTIF(HVL_Available_to_Sell_Report_wi!C[13],"">=mydate-181"")"
Range("B5").Select
End Sub
Вывод из запроса выше скриншот
Вывод дляСтрока 4 должна быть 131 на основе простой фильтрации. Ответ, который я получаю до сих пор, был «1».
Скриншот исходных данных
Столбец, к которому относится запросссылка на столбец O - UDF_INTRODUCED