|
▼タケタケ さん:
こんにちは!
>なお、もしあるシートだけが異なるコードが有る場合は、
>どうすれば良いのでしょうか?
>対象シートにコード作成すれば良いのでしょうか?
そうですね。
ただし、If分岐などでブックイベントにそのシートだけ
ブックイベントを起こさないよう記述してください。
もしくはブックイベントにIf分岐などで、そのシートだけの
処理を記述してもいいと思います。
>次に、C入力してオレンジに変えたセルを、
>Cを削除したらセルの色だけ元の戻したいと考えています。
このようにすれば可能だと思います。
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Row < 4 Then Exit Sub
If .Column <> 10 Then Exit Sub
If .Count > 1 Then Exit Sub
Application.EnableEvents = False
If .Value = "c" Then
.Interior.ColorIndex = 44
If .Offset(-1).Value = "" Then
.EntireRow.Cut
.End(xlUp).Offset(1).Activate
Rows(ActiveCell.Row).Insert Shift:=xlDown
End If
ElseIf .Value = Empty Then '追加
.Interior.ColorIndex = xlNone '追加
End If
Application.EnableEvents = True
End With
End Sub
>↓このコードの使い方がおかしいのでしょうか?
> If .Value = .ClearContents Then
> .Interior.ColorIndex = 1
> End If
.ClearContentsはセルを空白にする「動作」です。
ですので分岐条件では使用することが出来ません。
ここに入れるのでしたら「""」や「Empty」になります。
また、If .Value = "c" Thenの分岐の中に入れては動作してくれなくなります。
ちなみに、コードはなるべく同じ縦ラインに書かず、空白を入れてください。
そのほうが他の人が見るときにとても見やすくなります。
|
|