jkluio668
10/23/2017 - 1:08 PM

vba:rowheight_and_colwidth

报表:调整行高和列宽

'[1]调整行高列宽
Sub rowheight_and_colwidth()
    Application.ScreenUpdating = False
    For i = 1 To 3000
        Rows(i).RowHeight = 14.4
    Next
    '-------用数组的方法,缺点是不对称
    'arr1 = Array("仪器名称", "使用者", "课题组", "用户组织机构", "记录编号", "时段", "时长", "时间总计", "项目", "备注")
    'arr2 = Array("14", "7.5", "17", "36.3", "6.7", "16", "13.5", "7", "7", "5")
    'For i = 0 To UBound(arr1)
    '    Columns(Rows("1:1").Find(arr1(i), , , xlWhole).Column).ColumnWidth = arr2(i)
    'Next
    '---用字典的方法
    Dim dic2, k, v
    Set dic2 = CreateObject("Scripting.Dictionary")
    dic2.Add "仪器名称", "8"
    dic2.Add "使用者", "6.7"
    dic2.Add "课题组", "12"
    dic2.Add "用户组织机构", "23.5"
    dic2.Add "记录编号", "6.7"
    dic2.Add "时段", "19"
    dic2.Add "时长", "9"
    dic2.Add "时间总计", "7"
    dic2.Add "项目", "7"
    dic2.Add "备注", "5"
    k = dic2.keys
    v = dic2.items
    For i = 0 To dic2.count - 1
        On Error Resume Next
        Columns(Rows("1:1").Find(dic2.keys()(i), , , xlWhole).Column).ColumnWidth = dic2.items()(i)
    Next
    Application.ScreenUpdating = True
End Sub