尝试做一些简单的单元格计数,而我正在使用的if语句会出现运行时错误。
public function getIndex(Request $request)
{
$in=$request->get('id');
// ...
}
(整数)等于h
0
(字符串)等于y
(这就是它的数量)
我问这个单元格是不是"LD"
然后运行计数
0
是否计入(E6:E12)
E15
答案 0 :(得分:1)
错误很简单,您使用<>
运算符将字符串值"E15"
与整数值进行比较,这是VBA中的无意义操作,因为字符串无法直接与数字进行比较。
我相信您的意图是获取单元格E15的值,然后将其与零进行比较。为此,您的代码应如下所示:
Dim e15CellValue
e15CellValue = Cells.Item( 15, "E" ).Value
VBA具有“默认属性”的概念,因此可以缩写为:
Cells( 15, "E" )
所以:
If Cells( 15, "E" ) <> h Then
' do stuff
End If
答案 1 :(得分:1)
你可以这样做:
Sub Test()
Const h As Integer = 0
Const y As String = "LD"
If Range("E15").Value <> h Then
Range("E15") = Application.WorksheetFunction.CountIf(Range("E6:E12"), y)
End If
End Sub