我正在尝试创建一个脚本,该脚本将应用于SSIS包的Excel脚本,该脚本将根据单元格的内容更改列可见性。
基本上我有一个包含报告名称的列。该报告将包含单词" MID"或"结束",确定它是月中报还是月末报告。现在,我让脚本遍历该列中单元格的内容,并且应该使单元格可见或不可见,但我相信问题是If Else
在我整数之前不适用使用是增加的,因此它遍历整个列表,查看它是否是If
语句的第一个条件,但不会循环回Else
语句的开头。
如果有更好的方法根据一系列单元格中的单元格内容进行更改,请告诉我,因为这将广泛使用。
这是我目前的代码:
'Mid Month/Month End Changes
ReportRange = .Range("B2", "B" & lastrow)
k = 0
For k = 0 To ReportRange.Rows.Count - 1
ReportCell = .Cells(2 + k, 2)
Report = ReportCell.Value
MidHrsCell = ReportCell.Offset(, 5)
EndHrsCell = ReportCell.Offset(, 6)
For Each Cell In ReportRange
If InStr(Report, "MID") > 0 Then
EndHrsCell.EntireColumn.Hidden = True
Else
MidHrsCell.EntireColumn.Hidden = True
End If
Next
Next
答案 0 :(得分:1)
你已经在你的循环中循环以绕过相同的范围。我已经将它简化为每个下面只有一个循环。
'Mid Month/Month End Changes
ReportRange = .Range("B2", "B" & lastrow)
k = 0
For Each Cell In ReportRange
Report = Cell.Value
MidHrsCell = Cell.Offset(, 5)
EndHrsCell = Cell.Offset(, 6)
If InStr(Report, "MID") > 0 Then
EndHrsCell.EntireColumn.Hidden = True
Else
MidHrsCell.EntireColumn.Hidden = True
End If
Next