循环通过所有床单

时间:2015-12-15 13:21:07

标签: excel vba excel-vba loops

我正在尝试遍历工作簿中的所有工作表。我有以下代码,它完全正常;唯一的问题是它只有在我在第一张纸上启动宏时才有效;如果我在其他任何地方这样做,它只会在第一次循环后停止。

 WS_Count = ActiveWorkbook.Worksheets.Count
    For i = 1 To WS_Count
        Dim ws1 As Worksheet
        Set ws1 = ThisWorkbook.ActiveSheet
        'if sheet contains evdre
        Set c = ws1.Cells.Find("blabla")
        If Not c Is Nothing Then
            'do things
        End If
     Next i

我不确定这个问题是否是因为宏应该始终在第一张表上启动,或者代码中是否有错误。 谢谢你的帮助

EDIT 在'做某事部分,我实际上正在创建隐藏的工作表(我活跃的那个的隐藏副本);可以让计数陷入困境吗?因此只能在第一张表中使用

1 个答案:

答案 0 :(得分:3)

  Dim ws As Worksheet, c as range
  for each ws in ThisWorkbook.WorkSheets
  Set c = ws.Cells.Find("blabla")
  If Not c Is Nothing Then
        'do things
  End If