我有一个内置的估算系统,当我们向客户提供报价时,我们可以在现场进行评估,而我正在处理的工作表是我现场收集的所有数据编制的样式,并且可以提供给我们的客户。我有多个估算器使用此模板,因此自动化是关键。我已经创建了一个HURows()宏,它可以用于另一张工作表但是这次我收到一个编译错误,上面写着“For Without Next”。
Sub HURows()
BeginRow = 192
EndRow = 277
ChkCol = 22
For RowCnt = 192 To 196
If Cells(193, 22).Value = 0 Then
Cells(192, 22).EntireRow.Hidden = True
Cells(193, 22).EntireRow.Hidden = True
Cells(194, 22).EntireRow.Hidden = True
Cells(195, 22).EntireRow.Hidden = True
Cells(196, 22).EntireRow.Hidden = True
Cells(242, 22).EntireRow.Hidden = False
Cells(243, 22).EntireRow.Hidden = False
Cells(244, 22).EntireRow.Hidden = False
Cells(245, 22).EntireRow.Hidden = False
Else
Cells(192, 22).EntireRow.Hidden = False
Cells(193, 22).EntireRow.Hidden = False
Cells(194, 22).EntireRow.Hidden = False
Cells(195, 22).EntireRow.Hidden = False
Cells(196, 22).EntireRow.Hidden = False
Cells(242, 22).EntireRow.Hidden = True
Cells(243, 22).EntireRow.Hidden = True
Cells(244, 22).EntireRow.Hidden = True
Cells(245, 22).EntireRow.Hidden = True
End If
If Cells(194, 22).Value = 0 Then
Cells(194, 22).EntireRow.Hidden = True
Cells(195, 22).EntireRow.Hidden = True
Cells(243, 22).EntireRow.Hidden = False
Cells(244, 22).EntireRow.Hidden = False
Else
Cells(194, 22).EntireRow.Hidden = False
Cells(195, 22).EntireRow.Hidden = False
Cells(243, 22).EntireRow.Hidden = True
Cells(244, 22).EntireRow.Hidden = True
End If
If Cells(195, 22).Value = 0 Then
Cells(195, 22).EntireRow.Hidden = True
Cells(245, 22).EntireRow.Hidden = False
Else
Cells(195, 22).EntireRow.Hidden = False
Cells(245, 22).EntireRow.Hidden = True
End If
If Cells(198, 22).Value = 0 Then
Cells(197, 22).EntireRow.Hidden = True
Cells(198, 22).EntireRow.Hidden = True
Cells(199, 22).EntireRow.Hidden = True
Cells(246, 22).EntireRow.Hidden = False
Cells(247, 22).EntireRow.Hidden = False
Else
Cells(197, 22).EntireRow.Hidden = False
Cells(198, 22).EntireRow.Hidden = False
Cells(199, 22).EntireRow.Hidden = False
Cells(246, 22).EntireRow.Hidden = True
Cells(247, 22).EntireRow.Hidden = True
End If
If Cells(201, 22).Value = 0 Then
Cells(200, 22).EntireRow.Hidden = True
Cells(201, 22).EntireRow.Hidden = True
Cells(202, 22).EntireRow.Hidden = True
Cells(203, 22).EntireRow.Hidden = True
Cells(204, 22).EntireRow.Hidden = True
Cells(248, 22).EntireRow.Hidden = False
Cells(249, 22).EntireRow.Hidden = False
Cells(250, 22).EntireRow.Hidden = False
Cells(251, 22).EntireRow.Hidden = False
Else
Cells(200, 22).EntireRow.Hidden = False
Cells(201, 22).EntireRow.Hidden = False
Cells(202, 22).EntireRow.Hidden = False
Cells(203, 22).EntireRow.Hidden = False
Cells(204, 22).EntireRow.Hidden = False
Cells(248, 22).EntireRow.Hidden = True
Cells(249, 22).EntireRow.Hidden = True
Cells(250, 22).EntireRow.Hidden = True
Cells(251, 22).EntireRow.Hidden = True
End If
If Cells(202, 22).Value = 0 Then
Cells(202, 22).EntireRow.Hidden = True
Cells(250, 22).EntireRow.Hidden = False
Else
Cells(200, 22).EntireRow.Hidden = False
Cells(202, 22).EntireRow.Hidden = False
Cells(248, 22).EntireRow.Hidden = True
Cells(250, 22).EntireRow.Hidden = True
Cells(204, 22).EntireRow.Hidden = False
End If
If Cells(203, 22).Value = 0 Then
Cells(203, 22).EntireRow.Hidden = True
Cells(251, 22).EntireRow.Hidden = False
Else
Cells(200, 22).EntireRow.Hidden = False
Cells(203, 22).EntireRow.Hidden = False
Cells(248, 22).EntireRow.Hidden = True
Cells(251, 22).EntireRow.Hidden = True
Cells(204, 22).EntireRow.Hidden = False
End If
End Sub
答案 0 :(得分:2)
你没有接下来使用过。
for-next的结构就像 -
For i= 1 to 100
......do something....
Next i
答案 1 :(得分:0)
查看此link。您在上一次Next
后遗失End If
。
<强> Google is my friend. 强>