初めまして、しんと申します。
1つのセルにデータを入力した時に、
データがセルの幅に収まりきれ無い為、
データ全文が表示され無い場合に
自動的に幅を調整する方法はあるのでしょうか?
教えて下さい。
以上、宜しくお願い致します。
少々強引めですが、以下の自作プロシージャがそのまま使えます。
気に入れば、、、の話ですが。
'=====================================================================
'処理内容 グリッドの指定列のカラム幅を最長文字列に合わせて、AutoFitする。
'引数 lTargetCol (I/ )指定列位置
' oObjGrid (I/O)対象のグリッド
' [vMinLen] (I/ )セル幅の最小値(※ 省略化)
'戻り値 なし
'=====================================================================
Sub SGridColumnAutoFit(lTargetCol&, oObjGrid As MSFlexGrid, Optional vMinLen)
Dim i
Dim dTmpLen# 'テンポラリーLength
Dim dMaxLen# '最大Length
Const ciCelLen% = 120
With oObjGrid
If .Rows < 1 Or .Cols < 1 Then Exit Sub
'引数(vMinLen)省略
If IsMissing(vMinLen) Then vMinLen = 0
'最大Length初期値設定
dMaxLen = Val(vMinLen)
For i = 0 To .Rows - 1
'テンポラリーLength取得
dTmpLen = ciCelLen * LenB(StrConv(.TextMatrix(i, lTargetCol), vbFromUnicode))
'最大Lengthかの判断
If dTmpLen > dMaxLen Then dMaxLen = dTmpLen
Next i
'セル幅を最長文字列に合わせて設定
'AutoFit
.ColWidth(lTargetCol) = dMaxLen
End With
End Sub
できました〜!!!!
ありがとうございました!!!!!
今後も宜しくお願い致します!!!
ツイート | ![]() |