Board logo

標題: [發問] 請教各位前輩,如何簡化程式,感恩. [打印本頁]

作者: dou10801    時間: 2021-4-28 13:11     標題: 請教各位前輩,如何簡化程式,感恩.

Dim objCol As Object
    i = 1
Set objCol = Union(Columns(i), Columns(i + 4), Columns(i + 8), Columns(i + 12), Columns(i + 16)) '第1,5,9,13欄
    objCol.Select
    objCol.ColumnWidth = 8.13  '欄位寬度   
    '=============================
    j = 2   
    Set objCol = Union(Columns(j), Columns(j + 4), Columns(j + 8), Columns(j + 12), Columns(j + 16)) '第2,6,10,14欄
    objCol.Select
    objCol.ColumnWidth = 15.3
    '=============================
    k = 3
    Set objCol = Union(Columns(k), Columns(k + 4), Columns(k + 8), Columns(k + 12), Columns(k + 16)) '第3,7,11,15欄
    objCol.Select
    objCol.ColumnWidth = 20.13
     '=============================
    l = 4   
    Set objCol = Union(Columns(l), Columns(l + 4), Columns(l + 8), Columns(l + 12), Columns(l + 16))  '第4,8,12,16欄
    objCol.Select
    objCol.ColumnWidth = 5.13
    '---------------------------------------------------
作者: quickfixer    時間: 2021-4-28 13:34

本帖最後由 quickfixer 於 2021-4-28 13:39 編輯

回復 1# dou10801

Sub test()
    For i = 1 To 4
        Union(Columns(i), Columns(i + 4), Columns(i + 8), Columns(i + 12), Columns(i + 16)).ColumnWidth = Choose(i, 8.13, 15.3, 20.13, 5.13)
    Next i
End Sub
作者: ML089    時間: 2021-4-29 09:31

回復 1# dou10801

Sub ex1()
    Range("A1,E1,I1,M1,Q1").Offset(, 0).ColumnWidth = 8.13
    Range("A1,E1,I1,M1,Q1").Offset(, 1).ColumnWidth = 15.3
    Range("A1,E1,I1,M1,Q1").Offset(, 2).ColumnWidth = 20.13
    Range("A1,E1,I1,M1,Q1").Offset(, 3).ColumnWidth = 5.13
End Sub
作者: dou10801    時間: 2021-5-6 08:22

兩種思維模式,因原檔資料23000筆,會用心學習測試.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)