[[20200813054138]] 『繰り返し時間の計算』(ミイ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『繰り返し時間の計算』(ミイ)

         D     E     F     G     H     I     
7      9:00  9:10  0:10  9:30  9:45   0:15
8
9
10    10:00 10:40  0:40  10:50 12:00  1:10

E-D=F H-G=I
DEGHに時間を入力しFIにかかった時間を表示、3行おきに
繰り返したいです、関数式コピーでも
良いのですが行数が多いので、VBA教えてください
よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 おはようございます ^^
様々な方法があると思いますが。。。例えば。。。
入力方法
1.4セルに入力が済めば、イベントで、書き出す。
2.ユーザーフォームで4項目入力後、セルへ書き出す。
3.2.をインプットボックスで代用する
4.ボタンを作成して、4セルに入力が済めば、押す
書込み方法[書き出す順序にもよりますが。。。^^;]
1.挿入で押し出す
2.3行目に書き出す
2.配列に入れ、3行ごとに書き出す
3.作業シートに貯め、書き出しは3行飛びにする。
ざ〜ぁとですが。。。他にもいろいろあるかと。
後、何行目になれば、あ〜する、とかこ〜するとかも
必要かもです。
でわ、がんばってくださいね。。。m(_ _)m
(隠居じーさん) 2020/08/13(木) 09:37

 D,E,G,H列に時刻を入力するのは普通にセルに入力し、
 F列とI列にその差を求める部分をマクロでやりたい、ということでいいですか?
   
Sub sample()
    Dim i As Long, n As Long
    With ActiveSheet
        For i = 7 To .Cells(Rows.Count, "D").End(xlUp).Row Step 3
            For n = 6 To 9 Step 3
                .Cells(i, n).Value = .Cells(i, n - 1) - .Cells(i, n - 2)    '数式にしたい場合はこの部分を変更
                .Cells(i, n).NumberFormatLocal = "h:mm"
            Next n
        Next i
    End With
End Sub

 上記コードは計算した値をセルに書き出しています。
 値ではなく数式にしたい場合は「この部分を変更」の部分を

   .Cells(i, n).FormulaR1C1 = "=RC[-1]-RC[-2]"

 のようにしてください。
(tora) 2020/08/13(木) 10:09

 追記:
 上のコードはアクティブシートで動くようになっていますが、
 実際にはシート名を明記することをお薦めします。

 With ActiveSheet  → With WorkSheets("シート名")

 のように。
(tora) 2020/08/13(木) 10:23

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.