当前位置:  开发笔记 > 编程语言 > 正文

循环显示具有特定名称的工作表

如何解决《循环显示具有特定名称的工作表》经验,为你挑选了1个好方法。

假设我有10个工作表,4个具有非常相似的名称:

1.danger tom
2.danger man
3.danger ten
4.danger lan

我希望我的代码能够找到名称中包含文本字符串危险的所有工作表并执行我的代码

我尝试了以下两个实例:

Public Sub SubName()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets

    If ws.Name Like "danger" Then
       *Also tried this version: If ws.Name Like "danger" = True Then*

        Range("A1").Interior.ColorIndex = 37
    End If

Next ws

End Sub 

拿2

Sub WorksheetLoop()

Dim ws  As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    If InStr("danger", ws.Name) > 0 Then
        Range("A1").Interior.ColorIndex = 37
    End If
Next ws

End Sub

第一个代码没有做任何事情,即使没有错误.如果名称与我写下的名称完全匹配,则第二个代码只会执行某些操作.

需要任何帮助.



1> BruceWayne..:

我很确定你只需要明确添加你正在使用的工作表.

Public Sub SubName()
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    If ws.Name Like "danger" Then
      ' *Also tried this version: If ws.Name Like "danger" = True Then*
        ws.Range("A1").Interior.ColorIndex = 37
    End If
Next ws

End Sub

Sub WorksheetLoop()

Dim ws  As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    If InStr("danger", ws.Name) > 0 Then
        ws.Range("A1").Interior.ColorIndex = 37
    End If
Next ws

End Sub

这是一个简单的修复(我所做的只是ws.在每个之前添加Range()),但在处理多个工作表时非常重要.使用多个范围时始终明确.如果您正在使用Cells(),Row(),Column()等你应该添加您正在使用以及工作表.

使用另一种布局With(例如,参见下面的SubName()例程):

Public Sub SubName()
Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    With ws
    If .Name Like "danger" Then
      ' *Also tried this version: If ws.Name Like "danger" = True Then*
        .Range("A1").Interior.ColorIndex = 37
      ' For illusatration, this will color the range A1:B10
      ' .Range(.Cells(1,1),.Cells(10,2)).Interior.ColorIndex = 37
    End If
    End with
Next ws

End Sub

请注意,使用With允许您只使用"占位符" .来引用WS(或后面的任何内容With).请参阅我添加的Range(Cells(),Cells())用于此的一个好例子的行.

编辑:使用If ws.Name like "danger" Then在命名表运行danger(小写,无空格).如果您希望这种名为像床单工作DangerMouse,DangerDoom,Carlos Danger,那么你就需要使用... Like "*danger*" Then

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有