Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13030 / 13646 ツリー ←次へ | 前へ→

【7332】差分を求めたいのですが、、、 nibu 03/9/2(火) 17:31 質問
【7335】Re:差分を求めたいのですが、、、 INA 03/9/2(火) 18:15 回答
【7337】Re:差分を求めたいのですが、、、 nibu 03/9/2(火) 18:40 発言
【7377】Re:差分を求めたいのですが、、、 トシ坊 03/9/3(水) 15:42 回答

【7332】差分を求めたいのですが、、、
質問  nibu  - 03/9/2(火) 17:31 -

引用なし
パスワード
   時間の差分を求めるマクロを作成しているのですが、コマンドボタンを押すと
1行目に100,70,80,60,78,78というような数字が出力されます。
7行目に合計が出力されます。内容は1行目と同じです。
2〜6行目に数字を手動で入力していくと1行目の数字が減少していく。

例)
    40 30 40 30 40 40
    30 20 10 10 18 18
    20 10 20 10 10 10
    10 10 10 10 10 10

合計 100 70 80 60 78 78

1行目が入力された状態でこのようなマクロは組めるのでしょうか?

【7335】Re:差分を求めたいのですが、、、
回答  INA  - 03/9/2(火) 18:15 -

引用なし
パスワード
       A  B  C  D  E  F
  1 100 70 80 60 78 78 <マクロ実行時に7行目を表示?
  2  40 30 40 30 40 40
  3  30 20 10 10 18 18
  4  20 10 20 10 10 10
  5  10 10 10 10 10 10
  6
  7 100 70 80 60 78 78 <2〜6行目の合計

>コマンドボタンを押すと1行目に100,70,80,60,78,78というような
>数字が出力されます。
この数字は、7行目の値をコピーすればよいのでしょうか?

>7行目に合計が出力されます。
数式が入っているのですか?マクロで求めるのですか?

>2〜6行目に数字を手動で入力していくと1行目の数字が減少していく。
現在より大きな数字を入力した場合は?
なぜ減少のみなのですか?
1行目はマクロ実行時に7行目の値が代入されるだけなのではないのですか?


人の作業の流れとマクロ処理の流れを箇条書きにして頂けないでしょうか?

【7337】Re:差分を求めたいのですが、、、
発言  nibu  - 03/9/2(火) 18:40 -

引用なし
パスワード
   >人の作業の流れとマクロ処理の流れを箇条書きにして頂けないでしょうか?

作成しようとしているのは出勤簿作成マクロで
1行目には基本時間+残業時間を表示しています。
基本時間は7.75h→7.75*10=77.5≒78としています。
何故、減少のみかというと、幾つかの作業コードと言うものがあり,
現仕様は1行目に全時間を割り振っています。
7行目の合計は1〜6行目の値の合計を出力しています。
2〜6行目を入力したときに合計の時間を超えてはいけないので減少のみに
なっております。

2〜6行目を入力すると1行目の値がその分マイナスされるマクロを
作成したかったのです。

このような説明でよろしいでしょうか?
分からないことがありましたらご意見お願いします。

【7377】Re:差分を求めたいのですが、、、
回答  トシ坊  - 03/9/3(水) 15:42 -

引用なし
パスワード
   ▼nibu さん:
>時間の差分を求めるマクロを作成しているのですが、コマンドボタンを押すと
>1行目に100,70,80,60,78,78というような数字が出力されます。
>7行目に合計が出力されます。内容は1行目と同じです。
>2〜6行目に数字を手動で入力していくと1行目の数字が減少していく。
>
>例)
>    40 30 40 30 40 40
>    30 20 10 10 18 18
>    20 10 20 10 10 10
>    10 10 10 10 10 10
>
>合計 100 70 80 60 78 78
>
>1行目が入力された状態でこのようなマクロは組めるのでしょうか?
INAさん横レスすみません。

下記のマクロで良いとおもいます。

Private Sub Worksheet_Change(ByVal Target As Range)
'  MsgBox "行=" & Target.Row & "列=" & Target.Column
  If (Target.Row = 1) Then
    Cells(7, Target.Column).Value = Cells(Target.Row, Target.Column).Value
    Cells(Target.Row, Target.Column) = "=R[6]C-(SUM(R[1]C:R[5]C))"
  End If
End Sub

13030 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free