热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

工作表名称中的数字为“任意数字”-numberinworksheetnameas“anynumber”

Ihavethiscode:我有这个代码:Setwb2ActiveWorkbookwb2.Worksheets(-Incumbents).Range(B2:C2,Ran

I have this code:

我有这个代码:

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

I would like it to work on any worksheet which name contains word "-Incumbents". The problem is that worksheets are named "1-Incumbents","2-Incumbents","3-Incumbents" and so on... So I guess I need some kind of variable to put in the code instead of actual number, but I can't figure out how to do that. Please help.

我希望它可以在任何名称包含单词“-Incumbents”的工作表上工作。问题是工作表被命名为“1-Incumbents”,“2-Incumbents”,“3-Incumbents”等...所以我想我需要某种变量来代码而不是实际数字,但是我无法弄清楚如何做到这一点。请帮忙。

2 个解决方案

#1


3  

Try something like this:

尝试这样的事情:

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

#2


3  

As Scott Craner said, first, have a loop through all your sheets. Second, compare the sheet.name with "Incumbents", you can either use the "Like" or "InStr" functions:

正如Scott Craner所说,首先,让你的所有床单都有一个循环。其次,将sheet.name与“Incumbents”进行比较,您可以使用“Like”或“InStr”函数:

Dim wb2 As Workbook
Dim sht As Worksheet

Set wb2 = ActiveWorkbook

For Each sht In wb2.Sheets

    ' option 1: use Like
    If sht.Name Like "Incumbents" Then

    ' option 2: use Instr
    ' If InStr(1, sht.Name, "Incumbents") > 0 Then
        sht.Range("B2:C2", sht.Range("B2:C2").End(xlDown)).RemoveDuplicates Columns:=Array(1, 2), Header _
        :=xlYes
        sht.Range("B2:C2", sht.Range("B2:C2").End(xlDown)).Copy
    End If

Next sht

推荐阅读
author-avatar
手机用户2602907295
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有