gpt4 book ai didi

vba - 循环浏览具有特定名称的工作表

转载 作者:行者123 更新时间:2023-12-02 09:42:58 25 4
gpt4 key购买 nike

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

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

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

我尝试了以下两种情况:

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

即使没有错误,第一个代码也没有执行任何操作。仅当名称与我写下的内容完全匹配时,第二个代码才会执行​​某些操作。

需要任何帮助。

最佳答案

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

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

这是一个简单的修复(我所做的只是在每个 Range() 之前添加 ws.),但是在处理多个时非常重要床单。使用多个范围时始终要明确。如果您使用的是 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(或 后面的任何内容)与)。请参阅我添加的使用 Range(Cells(),Cells()) 的行作为一个很好的示例。

编辑:使用If ws.Name like "danger"Then在名为danger(小写,无空格)的工作表上运行。如果您希望此功能在名为 DangerMouseDangerDoomCarlos Danger 的工作表上运行,那么您需要使用 .. .就像“*危险*”然后

关于vba - 循环浏览具有特定名称的工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34298924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com