[[20110125093750]] 『実行時エラー:1004』(889) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『実行時エラー: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)

A1:BC288の範囲内で入力OKのとこと入力させない箇所を保護機能でセイブしてます。
書式の変更の許可とは保護機能のセルの書式設定のことですか?

 そのとおりです。
 他に制限はありませんか?

 あとは、一旦保護を解除して色を付けて保護をする。とか
 (momo)

共有を使用してるのでなかなか保護解除は出来ないし、入力してる人から削除されてはいけない箇所を保護してるので、それに縦横で入力箇所を明確にしてあげないと違う箇所に入力などしてしまう可能性があるので。。。なにかよい方法ないでしょうか?

 コード内で一瞬色を塗る間解除するだけですよ?

 あとはそのような問題があるのでしたら
 入力する人にだけ入力専用のシートを配布して
 そこからデータを収集するようにするのが一般的だと思います。
 (momo)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.