我有一个遍历工作簿中所有工作表的循环...然后将打印区域设置为选中的任何按钮。一个按钮设置它从Col A开始,另一个Col C ......等等。
但是,我收到运行时错误1004,说我输错了一个公式。使用即时窗口,我可以测试我的打印区域是我想要的。
With sheet
If .Name <> "Index" Then
Set rEnd = .Columns("A").Find("END", .[A8], xlValues, xlWhole, xlByRows, xlNext)
If rEnd Is Nothing Then
'Not Found - leave as is
Else
'Found
.PageSetup.PrintArea = "$" & sCol & "&8:$R$" & rEnd.Row '<---Fails here
SetZoom sheet, "Report Print """ & sCol & """ Scale"
End If
End If
End With
我在网上看到的每个例子都使用ActiveSheet显示它。 .PageSetup.PrintArea需要ActiveSheet吗?如果我不必,我不必激活每张纸。
答案 0 :(得分:1)
设置打印区域实际上与添加名为Print_Area的表级定义名称相同,因此您可以使用此名称而不是.PageSetup.Printarea行:
var publicHolidays = DateSystem.GetPublicHoliday(CountryCode.GB, 2017);
foreach (var publicHoliday in publicHolidays)
{
var name = publicHoliday.LocalName;
}
答案 1 :(得分:1)
这给了我一个有效的PrintArea。添加了周围的引号并删除了额外的&符号。
.PageSetup.PrintArea = "" & "$" & sCol & "8:$R$" & rEnd.Row & ""