在工作簿中为所有可见表设置打印区域

时间:2016-10-12 19:33:52

标签: excel-vba loops vba excel

尝试在我的工作簿中设置所有可见工作表的打印区域但是我得到了一个"对象需要"第PageSetup.PrintArea = "$B$2:$K$55

上的错误

有关如何解决此错误的任何帮助表示赞赏。

以下是我的完整代码的副本。

Private Sub YesPrint_Click()
Dim Sheet As Worksheet
Dim CompareTool As Workbook
Dim Sheetname As String
Set CompareTool = ThisWorkbook


With Application
    .DisplayAlerts = False
    .ScreenUpdating = False
End With

For Each Sheet In CompareTool.Worksheets
    If Sheet.Visible = True Then
    Sheet.Activate
        With ActiveSheet.Name
        Range("B2:K55").Select
        PageSetup.PrintArea = "$B$2:$K$55"
        End With
    End If
Next Sheet
End Sub

1 个答案:

答案 0 :(得分:1)

看起来提供的代码存在两个问题。

首先,{ name: "data", location": "us", activity: [], time: 1476301165252, subdoc: [{ time: 1476301165252, someotherKeys: .... }] } 语句中存在语法错误。在with语句中访问的每个属性都应该在它之前有一个点。

其次,with不是包含ActiveSheet.NameRange方法/对象的对象。它是PageSetup对象。

更正的代码应如下所示:

ActiveSheet

PageSetup的MSDN文章也提供了一个示例: https://msdn.microsoft.com/en-us/library/office/ff196103.aspx