哦,你列名有问题,列名尽量不要用数字开头。代码改一改
Select Case e.Col.name
Case "1月", "2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月","TOTAL"
If e.Row("项目") = "达成率" Then
Dim ia1 As Double
Dim ia2 As Double
Dim ia3 As Double
ia1 = DataTables("总分析").Compute("sum([" & e.Col.name & "])","项目 = '量产模' and 年份 = '" & e.Row("年份") & "'")
ia2 = DataTables("总分析").Compute("sum([" & e.Col.name & "])","项目 = '目标' and 年份 = '" & e.Row("年份") & "'")
ia3 = round2(ia1/ia2,4)
If ia2 < 0.0001 Then
e.text = "0.00%"
Else
e.Text = ia3 * 100 & "%"
End If
End If
End Select