2017-01-26 8 views
0

私は単純なタスクを割り当てられています(最初は私がそう思っていました)、エクセルへの入力を監視していて、数値がある場合(0000068145など)それを色で強調してください。そこで私はSheet1とDatabaseの2枚のシートを作成しました。だから私はこのコードを使用して、私は何かを変更するたびに、それが呼ばれる[Excel] [VBA]別のシートから値を見つけてBGをコピーする

Database Sheet here

Private Sub Worksheet_Change(ByVal Target As Range) 


End Sub 

そして、私はVLOOKUPを使用して考えたが、それだけで取得するデータベースでは、私はこのように私のデータを保ちます私の知る限りの価値

このような操作をどうやって実現しますか?

私はVlookupを使用できません。私は本当に "データベース"をメインシートから分離する必要があります。

私の英語

+1

'ThemeColor'と' TintAndShade'のプロパティ値を対応する数値に格納し、このデータを参照して値を使ってセルの色を付けることができます。プロパティ値がわからない場合、Record Macroはあなたの友人です。 –

+0

コンディショニングフォーマットはどうですか?私はそれのための可能性を見ている。それをやる方がいいかもしれませんか?うーん...しかし、すべての数に条件付きを設定すると痛みがあります... –

答えて

1

のため申し訳ありませんが、私はWorksheet_Changeを使用して、あなたのアプローチが正しいと思います。

Sheet1コードに次のように入れて:あなたの "データベース" シートがDatabase名前を付ける必要があります

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim oCell As Range, oDBCell As Range 
Dim dbWS As Worksheet 
Dim lColor As Long 
Set dbWS = ThisWorkbook.Worksheets("Database") 
For Each oCell In Target 
    Set oDBCell = dbWS.Range("A:A").Find(what:=oCell.Value, LookIn:=xlValues, lookat:=xlWhole) 
    If Not oDBCell Is Nothing Then 
    lColor = oDBCell.Interior.Color 
    oCell.Interior.Color = lColor 
    End If 
Next 
End Sub 

Sheet1のセルに値を入れて、データベースシートのA列にある場合は、このデータベースシートから色がコピーされます。

+0

偉大なスクリプト、ありがとうございます... –

関連する問題