Excel 根据单元格值调整列宽

Excel Adjust Column Width based on Cell Value

所以我有一个日程表工作簿,我已将其设置为根据 输入选项卡 上的下拉菜单在英语和西班牙语之间切换。

下拉菜单选择将导致单元格 I12 等于 1 或 2.
我想为此确定 Column D 工作表的宽度 First Week and Second Week
如果 Cell I121 列宽将为 3.33(37) ,或者如果 I122 列宽为 5.22(54).
Autofit 不起作用,因为如果返回英语,它也不会减少。

感谢 Tim 的帮助,我让它工作了。 运行 有点小故障,因为我忘了提到床单是受保护的。

我使用了以下并且工作正常

Private Sub Worksheet_Activate()
 ActiveSheet.Unprotect Password:="passwordhere"
  Select Case ThisWorkbook.Sheets("Input").Range("I12").Value
    Case 1: Me.Columns(4).ColumnWidth = 2.5
    Case 2: Me.Columns(4).ColumnWidth = 5
  End Select
 ActiveSheet.Protect Password:="passwordhere"

End Sub

最简单的方法是在工作sheet代码模块中为每个sheet需要调整列宽的地方添加这样的东西:

Private Sub Worksheet_Activate()
    Select Case ThisWorkbook.Sheets("Input").Range("I12").Value
        Case 1: Me.Columns(4).ColumnWidth = 10
        Case 2: Me.Columns(4).ColumnWidth = 20
    End Select
End Sub