- ベストアンサー
Excel Worksheet_Chang
早速ですが、セルD9~D40の間で入力したら、隣のセルE9~E40にH3を代入。 また、セルF9~F40の間で入力したら、隣のセルG9~G40にH4を代入。 有給管理で取得後の残りの有給日数を記録するために関数でしてしまうとすべて同じ答えになってしまうので(様式的に)、セルの値を別のセルに転記する仕組みを教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
D列及びF列のデータを入力したらH3,H4の値が変化して、関数だと過去のE列G列まで変化してしまうので過去分は固定したいということでしたら Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("D9:D40")) Is Nothing Then Target.Offset(0, 1).Value = Range("H3").Value ElseIf Not Intersect(Target, Range("F9:F40")) Is Nothing Then Target.Offset(0, 1).Value = Range("H4").Value End If Application.EnableEvents = True End Sub
その他の回答 (1)
- kkkkkm
- ベストアンサー率66% (1719/2589)
> 後、D,F列を消したら、E,Gも消える Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("D9:D40")) Is Nothing Then If Target.Value = "" Then Target.Offset(0, 1).Value = "" Else Target.Offset(0, 1).Value = Range("H3").Value End If ElseIf Not Intersect(Target, Range("F9:F40")) Is Nothing Then If Target.Value = "" Then Target.Offset(0, 1).Value = "" Else Target.Offset(0, 1).Value = Range("H4").Value End If End If Application.EnableEvents = True End Sub
お礼
勉強し始めたばかりで、いろいろ調べながら作っていたのでが、 うまく行かず、困ってました。 これからの学習の参考にさせていただきます。 本当にありがとうございました。
お礼
kkkkkmさん 回答ありがとうございます。 後、D,F列を消したら、E,Gも消えるという機能も 教えてください。