Excel根据单元格值调整列宽

时间:2015-01-09 01:31:28

标签: excel vba excel-vba

所以我有一个日程安排工作簿,我根据输入标签上的下拉菜单设置翻译英语和西班牙语。

下拉菜单选项将导致单元格 I12 等于 1或2
我希望确定工作表的 D列宽度第一周第二周
如果 Cell I12 1 列宽为3.33(37),或 I12 2 列宽将是5.22(54)。
自动调整并不起作用,因为如果它又回归英语,它也不会减少。

English

Spanish

感谢蒂姆的帮助,我得到了它的工作。因为我忘了提到床单受到保护而陷入一点小故障。

我使用以下内容并且工作正常

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

1 个答案:

答案 0 :(得分:2)

最简单的方法是在工作表代码模块中为需要调整列宽的每个工作表添加类似的内容:

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