34. Jak z poziomu VBA uzyskac efekt dopasowania kolumny na arkuszu danych?

Temat dotyczy formularza w widoku Arkusz danych. Za pomocą myszki łatwo dopasować szerokość kolumny/kolumn do zawartości (zaznaczamy kolumnę i dwukrotne klikamy na brzegu nagłówka), ale jak to zrobić automatycznie we wszystkich kolumnach za pomocą kodu VBA? Oto rozwiązanie:
For Each C In SbF.Controls
    C.ColumnWidth = -2  '-2 dopasowuje szerokość kolumny do zawartości
Next C

To bardzo mila funkcjonalność np po zmianie filtrowania lub zmianie obiektu źródłowego w podformularzu. Dla mnie ta możliwość okazała się bardzo przydatna przy podłączania kwerend krzyżowych w roli podformularza. Dodatkowo możemy rozpoznawać kolumny i dla niektórych określać własną szerokość lub szerokość standardową, np:

For Each C In SbF.Controls
    C.ColumnWidth = -1  '-1 ustawia standardową szerokość
    If C.Name="Pole1" Then
    	C.ColumnWidth = 100  'ustawia szerokość = 100 
    End If
Next C

Krzysztof Pozorek