2017-02-01 7 views
0

私は以下を試しましたが、うまくいきません - 他の提案はありますか?Excelマクロ - 同じブック内の別のワークシートのセルに基づいてタブの色を変更するにはどうすればよいですか?

Private Sub Worksheet_Change(ByVal Target As Range) 
MyVal = Range("'Summary'!A8").Text 

With ActiveSheet.Tab 
    Select Case MyVal 
     Case "Black" 
      .Color = vbBlack 
     Case "Red" 
      .Color = vbRed 
     Case "Green" 
      .Color = vbGreen 
     Case "Yellow" 
      .Color = vbYellow 
     Case "Blue" 
      .Color = vbBlue 
     Case "Magenta" 
      .Color = vbMagenta 
     Case "Cyan" 
      .Color = vbCyan 
     Case "White" 
      .Color = vbWhite 
     Case Else 
      .ColorIndex = xlColorIndexNone 
    End Select 
End With 
End Sub 
+2

"それは動作しません" 非常に有用ではありません。何が起こるのですか?エラー、何もない、...?また、このコードがどこにあるのか、どのシートタブを色付けするのかを明確にする必要があります。 – SJR

+0

私はちょうど同様のコードを実行し、コードは正常に動作するように見えました。違いは、あなたのMyVal宣言を削除し、 'Select'ステートメントを次のように変更したことです:' Select Case Sheets( "Summary")。Range( "A8")。Value'。 –

答えて

0
Private Sub Worksheet_Change(ByVal Target As Range) 
Dim MyVal$ 
MyVal = ActiveWorkbook.Sheets("Summary").Range("A8") 

With ActiveSheet.Tab 
    Select Case MyVal 
     Case "Black" 
      .Color = vbBlack 
     Case "Red" 
      .Color = vbRed 
     Case "Green" 
      .Color = vbGreen 
     Case "Yellow" 
      .Color = vbYellow 
     Case "Blue" 
      .Color = vbBlue 
     Case "Magenta" 
      .Color = vbMagenta 
     Case "Cyan" 
      .Color = vbCyan 
     Case "White" 
      .Color = vbWhite 
     Case Else 
      .ColorIndex = xlColorIndexNone 
    End Select 
End With 
End Sub 
関連する問題