我有这段代码:
Set wb2 = ActiveWorkbook
wb2.Worksheets("-Incumbents").Range("B2:C2", Range("B2:C2").End(xlDown)).RemoveDuplicates Columns:=Array(1, 2), Header _
:=xlYes
wb2.Worksheets("-Incumbents").Range("B2:C2", Range("B2:C2").End(xlDown)).Select
Selection.Copy
我希望它可以在任何名称中包含单词“-Incumbents”的工作表上工作。 问题是工作表被命名为“1-Incumbents”,“2-Incumbents”,“3-Incumbents”等...... 所以我想我需要一些变量来代码而不是实际数字,但我无法弄清楚如何做到这一点。 请帮忙。
答案 0 :(得分:3)
尝试这样的事情:
Dim ws as Worksheet
Dim wb2 as Workbook
Set wb2 = ActiveWorkbook
For Each ws in wb2.worksheets
If ws.Name Like "*-Incumbents" Then
wb2.Worksheets("-Incumbents").Range("B2:C2", Range("B2:C2").End _
(xlDown)).RemoveDuplicates Columns:=Array(1, 2), Header _
:=xlYes
wb2.Worksheets("-Incumbents").Range("B2:C2", Range("B2:C2").End _
(xlDown)).Select
Selection.Copy
End If
Next
答案 1 :(得分:3)
正如Scott Craner所说,首先,让你的所有床单都有一个循环。
其次,将sheet.name与“Incumbents”进行比较,您可以使用“difference[1]
”或“Like
”函数:
InStr