【问题标题】:Loop through sheets and delete those which do not meet a condition [closed]遍历工作表并删除不符合条件的工作表[关闭]
【发布时间】:2015-10-20 01:26:53
【问题描述】:

我正在使用 Excel 模型从雅虎财经中提取股票数据。每只股票的结果都会下载到 Excel 工作簿中的不同工作表中。运行模型后,工作簿有很多工作表,其中一些包含不可用的数据。

我正在寻找创建循环遍历每个工作表并检查条件的 VBA 代码,即单元格 A66 是否包含日期12/31/2014。如果不满足此条件,则需要删除工作表。

【问题讨论】:

  • Excel 有一个很好的功能,可以记录宏。我会尝试使用它来构建您想要做的基础,然后进入并选择您的代码。
  • 别忘了删除所有Selection.Select.Activate废话;改为处理实际的工作表和单元格引用,您将获得一个不那么脆弱的解决方案。祝你好运!

标签: vba excel finance


【解决方案1】:

你可以试试这个宏。

Sub checkSheets()
    For i = ActiveWorkbook.Sheets.Count To 1 Step -1
        If ActiveWorkbook.Sheets(i).Cells(66, 1) <> CDate("12/31/2014") Then
            ActiveWorkbook.Sheets(i).Delete
        End If
    Next
End Sub

【讨论】:

  • 欢迎来到 Stack Oveflow!我相信 OP 会欣赏您的代码,但与本网站上的众多讨论论坛不同,我们认为“gimmeh teh codez”问题离题 - 我投票决定将其关闭为“过于宽泛”。虽然这可能有点有趣,但回答这些问题并不能任何人。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-06
相关资源
最近更新 更多