Hi,
I am wondering if anyone can help?
I have created a Change Calendar which uses VBA to pull through Change names which appear when you click on the week:
Change Calendar.JPG
The code is working, problem is the 255 character limit in the input message box, is there anyway this limit can be removed or extended?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static prevRng As Range
If Not prevRng Is Nothing Then
prevRng.Validation.Delete
End If
If Intersect(Target, Range("C25:O105")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set prevRng = Target
With Target.Validation
If ActiveCell.Row < 43 Then GoTo 1 Else
If ActiveCell.Row < 65 Then GoTo 2 Else
If ActiveCell.Row < 87 Then GoTo 3 Else
If ActiveCell.Row < 109 Then GoTo 4 Else
'''''''''''''''''''''Q1 Area
1
If Not prevRng Is Nothing Then
prevRng.Validation.Delete
End If
If Intersect(Target, Range("C25:O39")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set prevRng = Target
With Target.Validation
mcol = -ActiveCell.Column + 2
mcol2 = -ActiveCell.Column + 1
myvar = Cells(24, ActiveCell.Column)
Range("E7") = myvar
rvar = ActiveCell.Offset(0, mcol)
Range("E10").Value = ""
Range("E8").Value = ""
Range("E9").Value = ""
Range("D6") = rvar
rvar2 = ActiveCell.Offset(0, mcol2)
Range("C6") = rvar2
.Delete
.Add xlValidateInputOnly
.InputMessage = Range("F6")
End With
''''''''''''''''''''''''''''''''''''''Q2 Area
2
If Not prevRng Is Nothing Then
prevRng.Validation.Delete
End If
If Intersect(Target, Range("C47:O61")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set prevRng = Target
With Target.Validation
mcol = -ActiveCell.Column + 2
mcol2 = -ActiveCell.Column + 1
myvar = Cells(46, ActiveCell.Column)
Range("E7") = myvar
rvar = ActiveCell.Offset(0, mcol)
Range("E10").Value = ""
Range("E8").Value = ""
Range("E9").Value = ""
Range("D6") = rvar
rvar2 = ActiveCell.Offset(0, mcol2)
Range("C6") = rvar2
.Delete
.Add xlValidateInputOnly
.InputMessage = Range("F6")
End With
''''''''''''''''''''''''''''''''''''''Q3 Area
3
If Not prevRng Is Nothing Then
prevRng.Validation.Delete
End If
If Intersect(Target, Range("C69:O83")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set prevRng = Target
With Target.Validation
mcol = -ActiveCell.Column + 2
mcol2 = -ActiveCell.Column + 1
myvar = Cells(68, ActiveCell.Column)
Range("E7") = myvar
rvar = ActiveCell.Offset(0, mcol)
Range("E10").Value = ""
Range("E8").Value = ""
Range("E9").Value = ""
Range("D6") = rvar
rvar2 = ActiveCell.Offset(0, mcol2)
Range("C6") = rvar2
.Delete
.Add xlValidateInputOnly
.InputMessage = Range("F6")
End With
''''''''''''''''''''''''''''''''''''''Q4 Area
4
If Not prevRng Is Nothing Then
prevRng.Validation.Delete
End If
If Intersect(Target, Range("C91:O105")) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Set prevRng = Target
With Target.Validation
mcol = -ActiveCell.Column + 2
mcol2 = -ActiveCell.Column + 1
myvar = Cells(90, ActiveCell.Column)
Range("E10") = myvar
rvar = ActiveCell.Offset(0, mcol)
Range("E7").Value = ""
Range("E8").Value = ""
Range("E9").Value = ""
Range("D6") = rvar
rvar2 = ActiveCell.Offset(0, mcol2)
Range("C6") = rvar2
.Delete
.Add xlValidateInputOnly
.InputMessage = Range("F6")
End With
End With
End Sub
Bookmarks