You can implement a function like this:
For each column you want to resize, put a value in the control's tag property, such as "Fixed".
For each column you want to hide and keep hidden, put a value in the control's tag property, such as "Hidden".
Call this function from the Current Event of the form which needs to resize columns.
Public Function DataSheetControls(ByRef frm As Form) As Variant
'---------------------------------------------------------------------------------------
' Procedure : DataSheetControls
' Author : GPC Data
' Date : 9/25/2010
' Purpose :
'---------------------------------------------------------------------------------------
Dim ctl As control
On Error GoTo errHandler
For Each ctl In frm.Controls
If ctl.Tag = "Hidden" Then
If ctl.ColumnHidden = False Then ctl.ColumnHidden = True
ElseIf ctl.Tag = "Fixed" Then
ctl.ColumnWidth = -2 ' -2 is sets column width to fit displayed text exactly
End If
Next ctl
frm.RowHeight = 0.1667 * 1440' set rows to default height
exitProc:
Exit Function
errHandler:
MsgBox "Error"
Resume CleanUp
End Function