Проблема в том, что у нас есть продвижение на фрукты, травы и овощи. Код VBA необходим в соответствии с несколькими правилами скидок.
- Цветная капуста, гуава и человек go продаются со скидкой 30%, количество заказа не зависит.
Категория фруктов:
- Без скидки на количество заказа менее 5 случаев.
- 10% скидка при количестве заказа от 5 до 15 случаев.
- 20% скидка для более чем 15 случаев.
Категория травы:
- Без скидки на количество заказа менее 10 случаев.
- 5% скидка при количестве заказа от 10 до 15 случаев.
- 10% скидка для более 15 случаев.
Категория овощей:
- Капуста: скидка 12% на 20 и более коробок
- Другие: скидка 12% на 5 и более коробок
Тем не менее, я сталкиваюсь с вопросом «следующий без для» ...... и я не мог видеть, где недостаток ... и во-вторых, могу ли я знать, как вставить соответствующую скидку в столбце D (под в процентах). Любые предложения и помощь приветствуются. Спасибо !!
Sub Task3()
Dim i As Integer
Dim FinalRow As Integer
Dim thisCategory As String, thisProduct As String
Dim thisQty As Integer
Dim Sale As Boolean
Dim discount As Single
With Sheets("sheet1")
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("D1").Value = "Discount"
For i = 2 To FinalRow
thisCategory = Cells(i, 1).Value
thisProduct = Cells(i, 2).Value
thisQty = Cells(i, 3).Value
Select Case thisProduct
Case "Cauliflower"
Sale = thisProduct
Case "Guava"
Sale = thisProduct
Case "Mango"
Sale = thisProduct
End Select
If Sale Then
discount = 0.3
Else
If thisCategory = "Fruits" Then
Select Case thisQty
Case Is < 5
discount = 0
Case 5 To 15
discount = 0.1
Case Is > 15
discount = 0.2
End Select
ElseIf thisCategory = "Herbs" Then
Select Case thisQty
Case Is < 10
discount = 0
Case 10 To 15
discount = 0.05
Case Is > 15
discount = 0.1
End Select
ElseIf thisCategory = "Vegetables" Then
If thisProduct = "Kale" And thisQty >= 20 Then
discount = 0.12
ElseIf thisProduct <> "Kale" And thisQty >= 5 Then
discount = 0.12
End If
End If
' insert discount in column D
If discount = 0.3 Then
.Range(.Cells(i, 1), Cells(i, 4)).Interior.Color = vbYellow
End If
Next i
End With
End Sub