Excel - 在列中连续自动调整,而无需每次都格式化

Excel - 在列中连续自动调整,而无需每次都格式化

我已经从选择列表中构建了一个关联列表选项,并希望列能够自动适应,而无需格式化以自动适应每个新选择。截至目前,每次进行选择时,我都必须格式化该单元格。

答案1

要执行一次自动调整,可在功能区主页窗格的单元格组中执行此操作 格式 > 自动调整列宽

要在用户输入 时自动调整一个或多个列Enter,需要使用 VBA 宏,如下所示。电子表格文件必须以.xlsm(非.xlsx)结尾,如果需要,请执行文件 > 另存为格式为“Excel 启用宏的工作簿 (*.xlsm)”。

  • 打开.xlsm工作表
  • 点击 “开发人员”选项卡
  • 单击“Visual Basic”
  • 在打开的 Microsoft Visual Basic 窗口中,双击左侧的ThisWorkbook
  • 在右上角,选择“工作簿”而不是“(常规)”,选择“SheetChange”而不是“打开”,以创建两个子程序(或未Workbook_Open 使用并可删除)
  • 在例程中输入一行Workbook_SheetChange,使例程看起来像:

    • 要自动调整工作簿中的所有列:

      Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      Columns().AutoFit
      End Sub
      
    • 例如,要自动调整特定列,A请将代码编写为
      Columns("A").AutoFitColumns(1).Autofit

    • 要自动调整列范围,请写入 Columns("A:E").AutoFit
  • Ctrl+S保存电子表格,然后 按Alt+Q关闭 VBA 编辑器并返回 Excel。

相关内容