【发布时间】:2017-03-01 16:14:54
【问题描述】:
我正在尝试建立一个支出与收入的 Excel 并得到这个恼人的错误 “否则没有如果” 我浏览了不同的论坛和其他但无法得到答案 - 这让我发疯了
有点解释:我正在查看我在工作表中名为“数据”的表格,如果我发现一个不为空白或没有“0”的单元格,我会继续。第一个“for each”是针对类别的,第二个是针对子类别的——一旦我找到一个子类别,我就会搜索我们在该子类别下的成本。我在月表中查找他的名字在字符串 CSheet 中的成本 - 当我找到它们时,我将它们添加到计数器 scSum 中。
With Worksheets("Data") For Each Mcell In Worksheets("Data").Range(.Cells(CatRow, stCatCol), .Cells(CatRow, enCatCol)).Cells '("C1:X1") expenses scSum = 0 If Mcell.Value <> 0 Then If IsEmpty(Mcell.Value) Then Exit For Else For Each eScell In Worksheets("Data").Range(.Cells(CatRow + 1, Mcell.Column), .Cells(CatRow + noSubCat, Mcell.Column)).Cells 'run on sub category 'eScell - expence category cell If IsEmpty(eScell.Value) Then Exit For Else ***'error!*** subC = eScell.Value With Worksheets(CSheet) For Each eCcell In Worksheets(CSheet).Range(.Cells(ExpMonthStRow, ExpMonthSubCol), .Cells(MonthEndRow, ExpMonthSubCol)).Cells 'run in month and look for sub category expences 'eCcell - expence cost cell If IsEmpty(eCcell.Value) Then Exit For Else If eCcell.Value = subC Then scSum = scSum + Worksheets(CSheet).Cells(eCcell.row, ExpMonthSubCostCol) End If End If Next eCcell End With End If Next eScell End If 'incomes scSum = 0 End If Next Mcell End With
【问题讨论】: