ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Excel(エクセル)活用コミュの数値(分)をセルに入力すると自動的に(時間)に変換するようには?

  • mixiチェック
  • このエントリーをはてなブックマークに追加
【例】60と入力すると1と表示できるように・・
セルの表示形式を変えたらよいのでしょうか?分かりません(>_<)教えて下さい。

コメント(12)

分数が90のとき、1.5なのか1:30なのかで算出方法が異なりますが、
仮に1:30と表示するのであれば、
=A1/(24*60)で表示形式を[h]:mm
skipさん>
コメントありがとうございます。分母90で入力すると1.5で表示させたいです。
別のセルに計算式をいれて計算するのではなくて同じセルの中で計算するようにしてほしいんですがそれは無理なのでしょうか?
どうしてもやりたければマクロを作ればいいかと思います。

Private Sub Worksheet_Change(ByVal Target As Range)
If Range(Target.Address) >= 30 Then Range(Target.Address) = Range(Target.Address) / 60
End Sub

30以上を入力した時、60で割っています。他に必要な条件があれば御自分でどうぞ。
普通に90÷60が1.5な気がします。
同じセルでそう表示させたい理由は?
私には考え付かないのですが・・・
ちぇんたろうさん・カカオさん>
コメントありがとうございます。
同じセルでっていう上司からのオーダーがありまして(>_<)どうしたものかと思いついつい質問してしまいました。
初心者なものでついつい変な質問スミマセンでしたm(_ _)m
みそさんへ
私なら、新規入力の手間や保守面、
更にはコスト(入力にかかる時間=人件費)の削減も交えて
上司には別セルで計算するように提案(説得)しますよ^^;
見せなくない行や列は非表示にすることができますし。

ちぇんたろうさん
Worksheet_Changeイベントの引数で受け取る Target は Range型であり、
Target が既にRangeオブジェクトへの参照をしているので
Range(Target.Address) とする手間は必要はないかと思いますよ。

Private Sub Worksheet_Change(ByVal Target As Range)
  MsgBox Range(Target.Address).Address = Target.Address
End Sub
Targetだけでいいんですね。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target >= 30 Then Target = Target / 60
End Sub
よっちゃんさん>
そですよね(>_<)その方向で進めたいとおもいます☆

ちぇんたろうさん>
いろいろおしえてくださってありがとうございました(^-^)
マクロは必ず思ったとおりに実行されるとは、限りません。
ブックをマクロ無効で開いていたり、イベントが実行され
ないようになっていたり…
そのようなことを考えると、後でセルの値を見たときに
マクロによって変換済みのものなのか、そうでないのか
区別がつきません。
なので、セルの値をマクロで書きかえるというようなこ
とはせずに、別セルに持たせるのが賢明です。


なお、Changeイベントプロシージャの中でセルの値を
変更するときは、
Application.EnableEvents
でイベントの抑制をするのが定石です。
別セルいいですねー。
きっと上司は何も知らずに、なんとなく言ってるだけですよ。
「なぜ隣のセルではいけないのですか?どんな不都合が有るのですか?」
と聞けばまともな答えが返ってくる訳ありませんから。
書式設定のユーザ定義に設定すれば、同一セルでも可能では?
>>9: ビリーさん
定石有難う御座いました。まだまだ問題はあるんですが。

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Target / 60
Application.EnableEvents = True
End Sub

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Excel(エクセル)活用 更新情報

Excel(エクセル)活用のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。