2016-12-10 8 views
0

私はこのデータをExcelで1:30としています。経過時間を分単位で表示したいので、セルのフォーマットを[m]と定義して、表示値として90を取得します。 (Cell.Numberformat = [m])Excel VBA。 [m]形式を一般的な形式に変換する

この値を「一般」形式に変換する方法はありますか?私はまだ自分のセルに値90を持っていますが、 "一般的な"形式です。

+2

可能な重複(http://stackoverflow.com/questions/37907606/vba-format-cells-to-general) –

+0

私はこれが "VBA形式のセルから一般"への複製であることに同意しません。営業担当者は、時間を数値形式を変更するよりもはるかに多くの分に変換したいと考えています。疑問を明確にしてしまうのはおそらく正当なことです。 –

+0

OPはセルのNumberFormatを変更しますが、この値を「一般」形式に変換する方法はありますか?私はまだ自分のセルに90という値を持っていますが、 "一般的な"フォーマットでしたいと思っています。それがデュープフラグの理由でした。それを変更するのは楽しいですが、それは愚か者(悪い質問ではない)のように思えます。 –

答えて

1

90分の値を 'General'に変換すると、excelは '0.0625'の値を返します。

Application.Textを使用して、表示値90を変数として保存してみてください。

myValue = CDbl(Application.Text(myValue, "[m]")) 

これを01:30:00の値( 'hh:mm:ss')でテストした後、値90が返されました。

-1

Excelは日付と時刻を数値として格納します。あるセルに「1:30」と入力し、別のセルに「.062500」と入力します。 「1:30」セルを「小数点以下6桁の数字」として再フォーマットすると、「.062500」と表示されます。 ".062500"セルを "h:mm"として再フォーマットすると、 "1:30"と表示されます。

Excelに入力すると、値が表示され、値の種類が決まります。日付、時刻、日時であると判断した場合は数値に変換しますが、値の形式に一致するようにNumberFormatを設定します。

その数の整数部分である:1900” 年1月1日以来の日数

その数の小数部分は秒であるので、深夜/(24 * 60 * 60)

時間を表示します数式 "General"の分数では、値 "HOUR(xn)* 60 + MINUTE(xn)"を持つ別のセルに数式を配置する必要があります。ここで、xnは変換するセルのアドレスです。

また、VBAマクロは「HH:MM」の形式でセルに見ることができる、分単位でセルの値を交換し、「全般」でのNumberFormatを置き換える[VBA形式細胞の

関連する問題