【问题标题】:VBA Excel saving as a PDF based on the sheet colours-Create array of sheets based on tab colorVBA Excel 根据工作表颜色另存为 PDF - 根据选项卡颜色创建工作表数组
【发布时间】:2019-12-05 11:12:38
【问题描述】:

我希望我的 PDF 文档符合保存条件,尽管在具有指定颜色的工作表中。

我该怎么做?

  Sub SavecolorTabtoPDF()

  Dim ws As Worksheet

  For Each ws In ThisWorkbook.Worksheets

  If Tab Color = "Blue, Accent 1, Darker 25%" Then
        'export as pdf
        ws.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:="C:\" & Left(ws.Name, Len(ws.Name) - 2) & ".pdf", _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=True
    End If
  Next ws

 End Sub

【问题讨论】:

  • 我的代码看起来很像这样 - 见上文。
  • 嗨,伙计,我现在就去检查一下。我有一个周末:) 谢谢你

标签: excel vba pdf


【解决方案1】:

您想要遍历工作表并根据标签颜色创建工作表数组。

这将创建您的工作表数组,然后将它们作为一个 PDF 文件。

Sub MakeArraySheets()
    Dim sh As Worksheet
    Dim ArraySheets() As String
    Dim x As Variant

    For Each sh In ActiveWorkbook.Worksheets
        If sh.Tab.ColorIndex = 55 Then
            ReDim Preserve ArraySheets(x)
            ArraySheets(x) = sh.Name
            x = x + 1
        End If
    Next sh

    Sheets(ArraySheets).Select

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                    ThisWorkbook.Path & "\" & ThisWorkbook.Name, _
                                    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                                    IgnorePrintAreas:=False, OpenAfterPublish:=True



End Sub

【讨论】:

  • 我试过你的代码,但还是不行。你能看看我的最后一次更新并检查那里有什么问题吗?在这个阶段我没有足够的线索,所以完整的代码将不胜感激。提前谢谢你。
  • 老实说,我不知道如何找到色号。你知道吗?
  • 不幸的是无法正常工作。仅激活所有工作表。它仍然一定是某个地方:(
  • 是的,伙计!当我更改为 sh.Tab.ColorIndex = 55 时,它起作用了。非常感谢 :)
【解决方案2】:
 dim wsheet as worksheet
  For Each wsheet In Thisworkbook.Worksheets
    if wsheet.tab.colorindex = 1 then
         Worksheet.SaveAs(*parameters*)
    end if
  next wsheet

编辑:您指定颜色的 colorindex55。通过用该颜色填充单元格并运行“mgbox activecell.interior.colorindex”来找出答案 EDIT2:在颜色索引之前删除了“内部”

【讨论】:

  • 不幸的是无法正常工作。你能看看上面,我试过什么?提前谢谢你
  • 我不知道这件事是怎么从我身边溜走的(我知道,过去几天我已经累死了,所以我很抱歉),但在没有“内部”的情况下试试”。只需“tab.colorindex=".
猜你喜欢
  • 2020-04-19
  • 2016-10-09
  • 1970-01-01
  • 2017-08-24
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
相关资源
最近更新 更多