【问题标题】:Set PrintArea for a separate workbook为单独的工作簿设置 PrintArea
【发布时间】:2020-01-21 19:22:23
【问题描述】:

我未能为外部临时工作簿设置打印区域。我有一个主子,我用它来移动到下面的私人子。在主子中,我已经正确定义了tempWB,但是,我似乎无法让它在私有子中工作。我收到此错误:

如果我将工作簿更改为 ThisWorkbook,它可以工作,但不适用于外部工作簿。

Private Sub Format(rwCnt As Long, lCol As Long, lColName As String, tempWB As Workbook)

    Dim pArea As Range
    rwCnt = rwCnt + 11

    With tempWB.Worksheets(1)
        Set pArea = .Range("A1:" & lColName & rwCnt)
        With .PageSetup
            .PrintArea = pArea
            .PrintTitleRows = "$2:$2"
            .Orientation = xlLandscape
            With ActiveWindow
                If .FreezePanes Then .FreezePanes = False
                .SplitColumn = 0
                .SplitRow = 2
                .FreezePanes = True
            End With
        End With
    End With

End Sub

任何帮助将不胜感激,谢谢!

【问题讨论】:

  • 看起来 .PrintArea 需要一个字符串。试试pArea.Address,或者只是那个字符串:"A1:" & lColName & rwCnt
  • @BigBen - 就是这样!有什么理由可以在没有字符串的情况下为 ThisWorkbook 工作?另外,请将您的答案作为答案发布,以便您获得声誉

标签: excel vba printing


【解决方案1】:

我不确定为什么它会按原样适用于ThisWorkbook,但从PrintArea 文档中,请注意PrintArea 需要String

要么把它改成

.PrintArea = pArea.Address

或者直接使用字符串:

.PrintArea = "A1:" & lColName & rwCnt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    相关资源
    最近更新 更多