【问题标题】:Excel: how to autofit columns on startup?Excel:如何在启动时自动调整列?
【发布时间】:2012-01-26 00:21:20
【问题描述】:

有没有办法自动调整起始表中包含数据的所有列?我正在寻找一种不依赖于对某个 excel 文件的修改但适用于每个 excel 文件并在 excel 启动时运行的解决方案。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您可以使用将接收应用程序事件的对象模块(请参阅Chip Pearson's website 上的更多信息)。

    这是您必须复制粘贴到文件ThisWorkbook 的模块PERSONAL.XLSB 的代码:

    Option Explicit
    
    Private WithEvents App As Application
    
    Private Sub Workbook_Open()
        Set App = Application
    End Sub
    
    Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
        'Statement to show that it works
        MsgBox "Opened Workbook: " & Wb.Name
        'Statement to autofit columns
        ActiveSheet.UsedRange.Columns.AutoFit
    End Sub
    

    您还可以在工作簿表上添加一个循环。

    【讨论】:

    • 我认为需要一个类模块应用程序事件捕获工作簿打开,以便为每个 Excel 文件触发代码(这写在 Pearson 网站的同一链接中)。
    • 我复制粘贴了这个新的类模块并将其保存到我的personal.xlsb 中。但是当我打开一个保存的 excel 文件时,什么也没有发生,列也没有自动调整。
    • 您是否检查了链接并按照 brettj 给出的说明进行操作?
    • 是的,我读过,但我不确定在这种情况下如何实现他的代码。
    • 我已经编辑了我的帖子。你必须把我给出的整个代码放在你创建的PERSONAL.XLSB 文件的This Workbook 模块中
    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 2021-08-25
    相关资源
    最近更新 更多