ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Cell data based on autoshape color (https://www.excelbanter.com/excel-programming/419192-cell-data-based-autoshape-color.html)

T-bone

Cell data based on autoshape color
 
Hi all

I am using the formula below to assign a number to a cell based on the color
of an autoshape (oval).
My problem is that i have multiple autoshapes on the same sheet. I need each
autoshape to assign a number to a corresponding cell.
When i try to just copy the formula and change autoshape name and cell
number, i get an error message.
I assume you can't have two Worksheet_SelectionChange.
Please help me

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor = 11
Then
Range("A1").Value = 1
ElseIf Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor =
34 Then
Range("A1").Value = 2
ElseIf Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor =
10 Then
Range("A1").Value = 3
Else: Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor = 10
Range("A1").Value = 4
End If

End Sub


-T

Ken

Cell data based on autoshape color
 
T
You can't have two Worksheet_SelectionChange Events, but you can have
one that does two things. I think you should look into the Select
Case statement, and see if you can get something like this to do what
you want:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Select Case Sheets("Consolidation").Shapes("Oval
1").Fill.ForeColor.SchemeColor
Case 11
Range("A1").Value = 1
Case 34
Range("A1").Value = 2
Case 10
Range("A1").Value = 3
Case Else
Range("A1").Value = 4
End Select

Select Case Sheets("Consolidation").Shapes("Oval
2").Fill.ForeColor.SchemeColor
Case 11
Range("A2").Value = 1
Case 34
Range("A2").Value = 2
Case 10
Range("A2").Value = 3
Case Else
Range("A2").Value = 4
End Select


End Sub


Good luck.

Ken
Norfolk, Va

On Oct 28, 8:58�pm, T-bone wrote:
Hi all

I am using the formula below to assign a number to a cell based on the color
of an autoshape (oval).
My problem is that i have multiple autoshapes on the same sheet. I need each
autoshape to assign a number to a corresponding cell.
When i try to just copy the formula and change autoshape name and cell
number, i get an error message.
I assume you can't have two Worksheet_SelectionChange.
Please help me

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor = 11
Then
Range("A1").Value = 1
ElseIf Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor =
34 Then
Range("A1").Value = 2
ElseIf Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor =
10 Then
Range("A1").Value = 3
Else: Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor = 10
Range("A1").Value = 4
End If

End Sub

-T



T-bone

Cell data based on autoshape color
 
Cheers Ken
That was spot on!
thanks

T

"Ken" wrote:

T
You can't have two Worksheet_SelectionChange Events, but you can have
one that does two things. I think you should look into the Select
Case statement, and see if you can get something like this to do what
you want:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Select Case Sheets("Consolidation").Shapes("Oval
1").Fill.ForeColor.SchemeColor
Case 11
Range("A1").Value = 1
Case 34
Range("A1").Value = 2
Case 10
Range("A1").Value = 3
Case Else
Range("A1").Value = 4
End Select

Select Case Sheets("Consolidation").Shapes("Oval
2").Fill.ForeColor.SchemeColor
Case 11
Range("A2").Value = 1
Case 34
Range("A2").Value = 2
Case 10
Range("A2").Value = 3
Case Else
Range("A2").Value = 4
End Select


End Sub


Good luck.

Ken
Norfolk, Va

On Oct 28, 8:58�pm, T-bone wrote:
Hi all

I am using the formula below to assign a number to a cell based on the color
of an autoshape (oval).
My problem is that i have multiple autoshapes on the same sheet. I need each
autoshape to assign a number to a corresponding cell.
When i try to just copy the formula and change autoshape name and cell
number, i get an error message.
I assume you can't have two Worksheet_SelectionChange.
Please help me

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor = 11
Then
Range("A1").Value = 1
ElseIf Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor =
34 Then
Range("A1").Value = 2
ElseIf Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor =
10 Then
Range("A1").Value = 3
Else: Sheets("Consolidation").Shapes("Oval 1").Fill.ForeColor.SchemeColor = 10
Range("A1").Value = 4
End If

End Sub

-T





All times are GMT +1. The time now is 01:55 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com