Excel vba:刷新页面格式而不保存
我有一个vba代码,它将从现有工作表创建一个新工作簿,然后编辑此新工作表上的格式,以删除多余的信息并使其更易于打印。(我只需移动/删除/创建单元格、行和列) 如果我不保存并尝试使用“将所有列调整为一页”选项打印此新工作表,则所有列大小都将使用工作表的原始列大小 但是,如果我保存,它会将列大小更新为实际编辑的大小 有没有一种方法可以在不保存的情况下刷新页面格式 编辑:这是一个非常紧凑的代码版本:Excel vba:刷新页面格式而不保存,vba,excel,Vba,Excel,我有一个vba代码,它将从现有工作表创建一个新工作簿,然后编辑此新工作表上的格式,以删除多余的信息并使其更易于打印。(我只需移动/删除/创建单元格、行和列) 如果我不保存并尝试使用“将所有列调整为一页”选项打印此新工作表,则所有列大小都将使用工作表的原始列大小 但是,如果我保存,它会将列大小更新为实际编辑的大小 有没有一种方法可以在不保存的情况下刷新页面格式 编辑:这是一个非常紧凑的代码版本: Sub SmallPsetup() Dim OrderBook As Workbook Dim Ref
Sub SmallPsetup()
Dim OrderBook As Workbook
Dim RefBook As Workbook
Set RefBook = Application.ActiveWorkbook
Set OrderBook = Workbooks.Add
' Copy sheet
RefBook.Sheets("MySheet").Copy Before:=OrderBook.Sheets(1)
' Remove superfluous/incomplete information
ActiveSheet.Columns("Q:AZ").Delete
End Sub
你能试试ActiveSheet.UsedRange吗?它将强制Excel重新调用
UsedRange
()@囚犯:这正是我所需要的。@Jean PierreOosthuizen:在我的代码中,我确实将屏幕更新设置为False
,然后再设置为True
,但该命令似乎对这个主题没有影响,我还试图移动活动表。在应用程序之前使用drange
。屏幕更新=True
这将仍然正确地刷新列宽。Jonathan很好,我很高兴@Capture可以帮助您使代码正常工作。