gpt4 book ai didi

vba - 在除命名工作表之外的所有工作表上运行删除重复代码

转载 作者:行者123 更新时间:2023-12-04 21:38:52 25 4
gpt4 key购买 nike

我有以下代码从“ACHAL”工作表中删除行,其中在“存档”工作表的 M 列和 A 列之间找到匹配项。

我需要为所有工作表运行相同的脚本,但是,我的工作簿由几个工作表组成,其中工作表名称会经常更改;所以我不想将工作表名称添加到代码中。

在工作簿中,我有 2 个具有恒定工作表名称的工作表(这些不会更改),并且代码需要在除“所有数据”和“存档”之外的所有工作表上运行。

有没有一种循环代码的方法,以便它在除“所有数据”和“存档”之外的所有工作表上运行。代码在最后一个工作表上运行后需要停止。

Sub ArchiveMatch()

Dim LR As Long, i As Long

With Sheets("ACHAL")
LR = .Range("M2:M" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
If IsNumeric(Application.Match(.Range("A" & i).Value, Sheets("Archive").Columns("A"), 0)) Then .Rows(i).Delete
Next i

End With

End Sub

最佳答案

您可以遍历所有工作表,然后检查当前工作表是否不是所有数据或存档,如下所示:

Sub ArchiveMatch()

Dim LR As Long, i As Long
Dim sh As Worksheet

For Each sh In ThisWorkbook.Worksheets
If sh.Name <> "All Data" And sh.Name <> "Archive" Then
LR = sh.Range("M2:M" & Rows.Count).End(xlUp).Row
For i = LR To 1 Step -1
If IsNumeric(Application.Match(sh.Range("A" & i).Value, Sheets("Archive").Columns("A"), 0)) Then sh.Rows(i).Delete
Next i
End If
Next sh

End Sub

关于vba - 在除命名工作表之外的所有工作表上运行删除重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24655025/

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