|
はじめまして、VBA初心者です。よろしくお願いします。
下記のようなデータがあります。
A B C D E F
1 発注日 納入日 名称 数量 単価 請求書C
2 01月15日 01月20日 バルブ 1 1500 C(セル色がピンク)
3 01月19日 01月22日 リレー 2 5200 C(セル色がピンク)
4 01月21日 ねじ 2 100
5 01月31日 ワッシャ 5 200
6 02月13日 砥石 1 14800
請求書CのF列セルにC文字を入力すると、
以下のイベントが起きるようにしたいです。
1.C入力セルの色がピンク色に変わる
2.C入力セルの行をカットする
3.対象行以上の上段行でC文字が入力されている行の下に挿入する
※後でCを削除する可能性があります。その時はイベント発生させずに、その行を維持したいです。
例えば、F5にC入力すると下記になるようにしたいです。
A B C D E F
1 発注日 納入日 名称 数量 単価 請求書C
2 01月15日 01月20日 バルブ 1 1500 C(セル色がピンク)
3 01月19日 01月22日 リレー 2 5200 C(セル色がピンク)
4 01月31日 02月10日 ワッシャ 5 200 C(セル色がピンク)
5 01月21日 ねじ 2 100
6 02月13日 砥石 1 14800
当方でも、下記まで作成しましたが、エラーとなり断念しました。
※セル色変更とC文字入力でイベント発生は考慮してません。
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Row < 4 Then Exit Sub
If .Column <> 10 Then Exit Sub
If .Value <> "" Then
.EntireRow.Cut
.Offset(0, 0).Activate
.End(xlUp).Offset(1).Activate
.EntireRow.Insert Shift:=xlDown
End If
End With
End Sub
大変申し訳ありませんが、
みなさんのご教授を頂きたく、よろしくお願いします。
|
|