数値のリストで先行ゼロを維持する必要があります。番号は次のように追加されます(ループ内ですが、これは(1、1)を使用した単なる例です:
_Set cel = Sheet.worksh.Cells(1, 1)
cel.ColumnWidth = 10
cel.Value = e.Name
cel.NumberFormat = "0000"
_
ここで、_e.Name
_は "0720"のような数値です。これはワークシートにうまく表示されますが、私がこのようなことをすると:
_Msgbox Sheet.worksh.Cells(1, 1).Value
_
「720」が表示されます。 "0720"にする必要があります。Len()
を使用してチェックし、そのようにゼロを追加できることはわかっていますが、これを行うRangeオブジェクトを使用したより直接的なアプローチがあるかどうか疑問に思いました。
これを使って:
Msgbox Format(Sheet.worksh.Cells(1,1).Value, "0000")
数値とそのテキスト表現を混同しています。
.Text
プロパティではなく.Value
、しかし 問題が発生する可能性があります 。
さらに良いのは、形式がわからない場合です。
Msgbox Format(Sheet.worksheet.Cells(1,1).Value、Sheet.worksheet.Cells(1,1).NumberFormat)
パーティーには少し遅れますが、次のように、常に値と数値の形式を別々に呼び出すこともできます。
Msgbox Application.WorksheetFunction.Text(Sheet.worksh.Cells(1、1).Value、Sheet.worksh.Cells(1、1).NumberFormat)