我在工作簿中有多个工作表。我试图对D-G列进行总计,并将变量if..then语句应用于结果。
使用下面的代码提供了一个总数,但我无法弄清楚如何让“if”正常工作并显示结果。
Dim colm As Long, StartRow As Long
Dim EndCell As Range
Dim ws As Worksheet
StartRow = 3
For Each ws In Worksheets
Set EndCell = ws.Cells(Rows.Count, "c").End(xlUp).Offset(1, 1)
If EndCell.Row > StartRow Then
EndCell.Resize(, 4).Formula = "=SUM(R" & StartRow & "C:R[-1]C)"
End If
If EndCell.Row >= 0 Then J3 = "6 Free Bottles"
If EndCell.Row >= 1000 Then
J2 = Formula = ((EndCell.Row) * (0.05))
J3 = "5% Discount"
ElseIf EndCell.Row >= 3000 Then
Range(J2) = Formula = ((EndCell.Row) * (0.1))
Range(J3) = "10% Discount"
End If
Next ws
答案 0 :(得分:0)
如果要更改单元格的值,则无法使用J3 = "6 Free Bottles"
。 Excel认为J3
是一个变量。使用Cells(3, "J").Value = "6 Free Bottles"
。您也可以使用Range("J2").Value =
。 Range(J2) =
尝试将Range对象设置为等于某个东西,这将无法执行您想要的操作。
会导致问题的单独注意事项:您的某个End If
对帐单中也遗漏了If
。