2017-10-21 268 views
0

我想复制Helper工作表中的一些范围。如何关闭表格自动扩展功能?

事实上,我想重新格式化复制的范围,并将它们设置为Format as Table

每个范围包含一个标题想要是非Table format

我尝试下面的代码:

ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(UpLeft,1).Address ":" & Cells(DownRight, 20).Address), , xlYes).Name = "Table" & i 

一切都很好,当我第一次执行范围复制,但是当我做复制下一个范围,上一个“表format`已经自动扩展和扰乱的标题和头当前范围。

我一直在使用

(IIf(WS.PageSetup.Orientation = xlLandscape, 591, 852) - WS.PageSetup.TopMargin - WS.PageSetup.BottomMargin) * _ (100/WS.PageSetup.Zoom) - 1 

并添加每个拷贝范围的一端与

WS.HPageBreaks.Add Before:=Rows(sh + 1). 

页面制动设置每个复制的范围大小,整个打印区域高度的结束,我需要每个范围都从页面顶部开始,所以我无法在粘贴之间留下空白

如何防止表在特定工作表中自动展开?

+0

你离开pastings之间有足够的差距?并且每个都粘贴一个新对象? – QHarr

+0

不,我已经使用'(IIf(WS.PageSetup.Orientation = xlLandscape,591,852) - WS.PageSetup.TopMargin - WS.PageSetup.BottomMargin)将每个复制范围大小的末尾设置为整个打印区域'Height' (100/WS.PageSetup.Zoom) - 1'并在每个复制范围的末尾添加一个Page brake('WS.HPageBreaks.Add Before:= Rows(sh + 1)')。我需要每个范围都从页面顶部开始,所以我不能在粘贴之间留下空白。 – mgae2m

回答

1

打开自动扩展关闭:

Application.AutoCorrect.AutoExpandListRange = False