[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『実行時エラー:1004』(889)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode = xlCopy Then
Exit Sub
End If
Cells.Interior.ColorIndex = xlNone
Columns(Target.Column).Interior.ColorIndex = 35
Rows(Target.Row).Interior.ColorIndex = 35
Selection.Interior.ColorIndex = 6
End Sub
をコードにしています。
たまに
実行時エラー:1004
Interior クラスのColorIndexプロパティを設定できません。
と出ます。
何が原因か分かる方いらっしゃったら教えてください。
Excel2003 WindowsXP
エラーが出るシートは保護されていませんか? (momo)
一応、対策として・・・ Protectionの状態を取得して判定するようにされてはどうでしょうか?
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'コピーモード中か、シートが保護されていてかつ書式の変更が許可されていなければ If Application.CutCopyMode = xlCopy Or _ (Me.ProtectContents = True And _ Me.Protection.AllowFormattingCells = False) Then Exit Sub End If Me.Cells.Interior.ColorIndex = xlNone With Target .EntireColumn.Interior.ColorIndex = 35 .EntireRow.Interior.ColorIndex = 35 .Interior.ColorIndex = 6 End With End Sub
(momo)
しばらくすると、という条件が良くわかりません。 上のコードにコメントで条件を書いてありますので その条件に該当するかどうか確認してみてください。 (momo)
そのとおりです。 他に制限はありませんか?
あとは、一旦保護を解除して色を付けて保護をする。とか (momo)
コード内で一瞬色を塗る間解除するだけですよ?
あとはそのような問題があるのでしたら 入力する人にだけ入力専用のシートを配布して そこからデータを収集するようにするのが一般的だと思います。 (momo)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.