Excel 根据单元格值调整列宽
Excel Adjust Column Width based on Cell Value
所以我有一个日程表工作簿,我已将其设置为根据 输入选项卡 上的下拉菜单在英语和西班牙语之间切换。
下拉菜单选择将导致单元格 I12 等于 1 或 2.
我想为此确定 Column D 工作表的宽度 First Week and Second Week。
如果 Cell I12 是 1 列宽将为 3.33(37) ,或者如果 I12 是 2 列宽为 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
所以我有一个日程表工作簿,我已将其设置为根据 输入选项卡 上的下拉菜单在英语和西班牙语之间切换。
下拉菜单选择将导致单元格 I12 等于 1 或 2.
我想为此确定 Column D 工作表的宽度 First Week and Second Week。
如果 Cell I12 是 1 列宽将为 3.33(37) ,或者如果 I12 是 2 列宽为 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