2016-08-07 79 views
0

我有一個包含多個列的電子表格,我正在研究根據每行中的值擴展列。基於VBA中的行中的最大值擴大列寬

如果行中的值大於列寬,則展開爲行值的寬度。

但是,下面的代碼根據一列中的值擴展列,並將寬度設置爲全部列。

Dim j As Integer, m As Integer 
    With tRange.Columns 
    .AutoFit 

     m = ActiveCell.Offset(-1, 0).Columns(1).ColumnWidth 

     For j = 1 To .Columns.Count 
      If .Columns(j).ColumnWidth > m Then m = .Columns(j).ColumnWidth 
     Next j 

     .ColumnWidth = m 
    End With 

有沒有辦法讓列寬基於每列並單獨設置寬度而不是全局設置寬度?

希望你明白我的意思!

+0

試着畫出你正在尋找的東西,你會發現它是不可能的,因爲它是一個矩陣。您可以使用合併單元格選項來實現它 – ehh

回答

0

要自動調整列單個Range可以使用Sub類似如下:

Option Explicit 

Sub Test() 
    AutoFitRangeColumn Sheet2.Range("B4") 
End Sub 

Sub AutoFitRangeColumn(ByVal rng As Range) 
    rng.EntireColumn.AutoFit 
End Sub 
0

tRange.Columns.AutoFit 

將在您的範圍內設置每列替換整個代碼(」 tRange「)爲該列的適當大小。