2017-02-13 10 views
0

保護されたシートがあるブックがあります。
ユーザーは、各シートの特定のセルにデータを入力します。
アクティブセルの背景色を、たとえば、赤色に変更したい場合は強調表示し、選択解除すると元の色に戻します。
私はワークシートの代わりにブックに割り当てるマクロを検索したいと思います。アクティブなセルの塗りつぶしの色を変更します。

私はこのコードが役に立ちますが、私は初心者ですから、私の要求に合うようにどのパラメータを変更するべきかわかりません。

Sub ColorCells() 
    Dim Data As Range 
    Dim cell As Range 
    Set currentsheet = ActiveWorkbook.Sheets("Ekandari") 
    Set Data = currentsheet.Range("C5:D5,F5:M5,L9") 
    For Each cell In Data 
     cell.Interior.ColorIndex = 3 
    Next 
End Sub 
+0

http://stackoverflow.com/help/how-to-ask私たちに示してくださいいくつかを削除(はThisWorkbook)

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) ActiveSheet.Unprotect "Password" Sh.UsedRange.Interior.ColorIndex = 27 'change colorindex to select background color Target.Interior.ColorIndex = 32 'change colorindex to select active cell color ActiveSheet.Protect Password:="Password" End Sub 

に入れますあなたが助けを求める前にしたコードを試みてください – timat

+0

私に試験をしたいのですか?私が答えを知っていたら、私は再び尋ねないだろう。私はネットで検索し、いくつか見つけたが、誰も私の問題を解決していない。 – Mansour

+0

?他人が問題を再現するのを助ける?あなたの問題は何ですか? SOは "あなたのサービスのためのコードを書く"ではありません。これがちょうどアドバイスなので、誰かがあなたに答えてくれるかもしれません。私はあまり気にしません。 – timat

答えて

0

マンサー、これが役立ちます。残念ながら、ワークブック全体では機能しません。ブックの各シートにこのコードを追加する必要があります。あなたがパスワードを持っていないなら、あなたはあなたがして、アクティブな色は赤にしたくない場合は作成する必要が唯一の変更がある

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

    ActiveSheet.Unprotect "password" 

    On Error Resume Next 
    Range("PrevCell").Interior.ColorIndex = 0 

    ActiveCell.Interior.ColorIndex = 3 
    With ActiveWorkbook.Names("PrevCell") 
     .RefersTo = ActiveCell 
    End With 

    ActiveSheet.Protect Password:="password", DrawingObjects:=True, Contents:=True, Scenarios:=True _ 
     , AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:=True 
End Sub 

二行目から「パスワード」を削除する必要があります。 3を使用するカラーインデックスに変更します。

+0

に次のように置くことです保護されたシートで動作します。 「ActiveSheet.Uprotect」というパスワードの2行目はシートを保護しない行です。パスワードを使用していない場合は、「パスワード」部分だけを削除することができます。パスワードを使用している場合は、パスワードpasswordを実際のパスワードに置き換えてください。第二に、細胞は白以外の色をしていますか?このコードは、選択解除されたセルを自動的に白に変更します。 –

+0

1 - あなたは正しいですが、編集前にあなたの投稿にコメントしました。 2-最初に私はそれが**塗りつぶしに変わったと思った** cuz whiteはそれのように見える。 3 - 選択解除後に元のアクティブなセルの色が返されますか? – Mansour

+0

あなたはまだ私の答えを得ていないことを知っています。元々、いくつかのセルは緑色で、いくつかは私のシート上で青色です。コードを適用した後は、すべての色が元の色ではなく関連する色コードに変更されます。 – Mansour

0

これは、背景とアクティブセルの色を設定する最も簡単なコードです。 注:保護されたシートを使用しない場合

ActiveSheet.Unprotect "Password" 

ActiveSheet.Protect Password:="Password" 
+0

アクティブセルの色のみを変更したいのですが、正しいコードを見つけることができませんでした。 – Mansour

関連する問題