GuillaumeWiatr
New Member
- Joined
- May 1, 2012
- Messages
- 2
Hi there,
I am using the following macro to have the letter u appear when the user clicks on cells in columns 5,6,7 and 8. This works line by line. I only want it to work when the line corresponds to a specific type of item, specified by the letter "S" in another column. Te macro works well.
But here is my problem: When the user selecst more than one cell a a time, anywhere in the worksheet, I get a "Run-time error '13': Type mismatch message". The debugger points at the line 4 (If Target.Column = 5 And Range(Cellule).Offset(0, 13).Value = "S" Then).
I am thinking that my variable must not have the right type. Maybe the offset function is not appropriate. Being new to VBA development and after researching for a while, I think I need you help please!
------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cellule As String
Cellule = Target.Address
If Target.Column = 5 And Range(Cellule).Offset(0, 13).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, 1).Value = ""
Range(Cellule).Offset(0, 2).Value = ""
Range(Cellule).Offset(0, 3).Value = ""
Else
If Target.Column = 6 And Range(Cellule).Offset(0, 12).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, -1).Value = ""
Range(Cellule).Offset(0, 1).Value = ""
Range(Cellule).Offset(0, 2).Value = ""
Else
If Target.Column = 7 And Range(Cellule).Offset(0, 11).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, -2).Value = ""
Range(Cellule).Offset(0, -1).Value = ""
Range(Cellule).Offset(0, 1).Value = ""
Else
If Target.Column = 8 And Range(Cellule).Offset(0, 10).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, -3).Value = ""
Range(Cellule).Offset(0, -2).Value = ""
Range(Cellule).Offset(0, -1).Value = ""
Else
End If
End If
End If
End If
I am using the following macro to have the letter u appear when the user clicks on cells in columns 5,6,7 and 8. This works line by line. I only want it to work when the line corresponds to a specific type of item, specified by the letter "S" in another column. Te macro works well.
But here is my problem: When the user selecst more than one cell a a time, anywhere in the worksheet, I get a "Run-time error '13': Type mismatch message". The debugger points at the line 4 (If Target.Column = 5 And Range(Cellule).Offset(0, 13).Value = "S" Then).
I am thinking that my variable must not have the right type. Maybe the offset function is not appropriate. Being new to VBA development and after researching for a while, I think I need you help please!
------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cellule As String
Cellule = Target.Address
If Target.Column = 5 And Range(Cellule).Offset(0, 13).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, 1).Value = ""
Range(Cellule).Offset(0, 2).Value = ""
Range(Cellule).Offset(0, 3).Value = ""
Else
If Target.Column = 6 And Range(Cellule).Offset(0, 12).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, -1).Value = ""
Range(Cellule).Offset(0, 1).Value = ""
Range(Cellule).Offset(0, 2).Value = ""
Else
If Target.Column = 7 And Range(Cellule).Offset(0, 11).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, -2).Value = ""
Range(Cellule).Offset(0, -1).Value = ""
Range(Cellule).Offset(0, 1).Value = ""
Else
If Target.Column = 8 And Range(Cellule).Offset(0, 10).Value = "S" Then
Range(Cellule).Value = "u"
Range(Cellule).Offset(0, -3).Value = ""
Range(Cellule).Offset(0, -2).Value = ""
Range(Cellule).Offset(0, -1).Value = ""
Else
End If
End If
End If
End If