Excel根据单元格内容进行更改

我正在尝试创build一个将应用于SSIS包的Excel脚本的脚本,该脚本将根据单元格的内容更改列可见性。

基本上我有一个列将包含报告的名称。 这个报告将包含“MID”或“END”这个词,它决定了是月中还是月末的报告。 现在,我已经通过该列的单元格内容的脚本运行,应该使细胞可见或不,但我相信的问题是, 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 

你已经在你的循环内循环了相同的范围。 我已经简化成只有一个循环下面。

 '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