簡體   English   中英

如何將具有特定標簽顏色的工作表從一個工作簿復制到另一個工作簿?

[英]How to copy sheets with certain tab color from one workbook to another?

我有幾個工作簿,其中有幾張工作表具有帶有 RGB 代碼 (0,255,0) 的 Tab 顏色,即完全綠色,因此我只需要將這些工作表復制到 ActiveWorkbook,而無需打開包含這些綠色工作表的工作簿

Sub Copy_Green_Sheets()
Dim wb As Workbook
Dim ws As Worksheet

If ws.Tab.Color = RGB(0, 255, 0) Then
         Set wb = Workbooks("Target workbook")
         For Each ws In Workbooks("source workbook").Worksheets
         ws.Copy After:=wb.Sheets(wb.Sheets.Count)
         Next ws
End If
End Sub
Option Explicit

Sub DoItForAllWorkbooks()
    Dim myWorkbook As Workbook
    Dim myWbFullNames(100) As String
    Dim iCt As Integer

    ' You might to want to create such a list with Excel:
    '="'        myWbFullNames("&B3&") = ""C:\mySpecialFolder\myFile0"&B3&".xlsx"""

    myWbFullNames(1) = "C:\mySpecialFolder\myFile01.xls"
    myWbFullNames(2) = "C:\mySpecialFolder\myFile02.xls"
    myWbFullNames(3) = "C:\mySpecialFolder\myFile03.xls"
    myWbFullNames(4) = "C:\mySpecialFolder\TabColor4.xlsx"
    myWbFullNames(5) = "C:\mySpecialFolder\myFile05.xls"

    For iCt = 1 To 5
        Workbooks.Open myWbFullNames(iCt)
        Set myWorkbook = ActiveWorkbook
        Call Copy_Green_Sheets_NEW(ActiveWorkbook)
        myWorkbook.Close
    Next iCt
End Sub

Sub Copy_Green_Sheets_NEW(SourceWorkbook as workbook)
Dim wb As Workbook
Dim ws As Worksheet
    Set wb = Workbooks("Target workbook")
    'For Each ws In Workbooks("source workbook").Worksheets --- OLD
    For Each ws In SourceWorkbook.Worksheets
        If ws.Tab.Color = RGB(0, 255, 0) Then
            ws.Copy After:=wb.Sheets(wb.Sheets.Count)
        End If
    Next ws
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM