M
mike.r.harris
I have 5 textboxes on a sheet and a number of Checkboxes the names of
which are the opening statements that I want pasted in "the next
available" textbox.... ie. Textbox1 is named.....
"Mechanisation problem " Using Application.caller and the macro below
I can paste this into a free textbox to start the user off on a
pre-ordained fault script and by selecting the same Checkbox again
clear the box.... so far so good all works well until... ( and it would
appear this is, as we say, a "Hot Potatoe") I can't get focus STABLE
on the textbox? The strange thing is if I repeat the sequence (select
to remove then immediately select again focus is achieved) I have tried
dipping-out to a cell prior to running the main macro to establish a
common "launch-point" but this is ignored..... gone so far and stumped
at the finishing post .... Any help appreciated.
Sub setup3()
Application.ScreenUpdating = False
Dim cbo As MSForms.TextBox
Dim obj As OLEObject
Dim Message As Variant
Message = Application.Caller
ChckLength = Len(Application.Caller)
'ActiveSheet.Range("K8").Select this does nothing !!!!
With ActiveSheet
For Each obj In .OLEObjects
If TypeName(obj.Object) = "TextBox" Then
If Left(obj.Object.Text, ChckLength) = Message Then
obj.Object.Text = ""
Exit Sub
End If
End If
Next
End With
ActiveSheet.Range("K8").Select ' same here !!!!!
With ActiveSheet
For Each obj In .OLEObjects
If TypeName(obj.Object) = "TextBox" Then
Set cbo = obj.Object
Set TB = ActiveSheet.OLEObjects(cbo.Name)
If Trim(obj.Object.Text) = "" Then
obj.Object.Text = Message & " "
GoTo ending
End If
End If
Next
End With
ending:
cbo.Select
Selection.Activate
End Sub
which are the opening statements that I want pasted in "the next
available" textbox.... ie. Textbox1 is named.....
"Mechanisation problem " Using Application.caller and the macro below
I can paste this into a free textbox to start the user off on a
pre-ordained fault script and by selecting the same Checkbox again
clear the box.... so far so good all works well until... ( and it would
appear this is, as we say, a "Hot Potatoe") I can't get focus STABLE
on the textbox? The strange thing is if I repeat the sequence (select
to remove then immediately select again focus is achieved) I have tried
dipping-out to a cell prior to running the main macro to establish a
common "launch-point" but this is ignored..... gone so far and stumped
at the finishing post .... Any help appreciated.
Sub setup3()
Application.ScreenUpdating = False
Dim cbo As MSForms.TextBox
Dim obj As OLEObject
Dim Message As Variant
Message = Application.Caller
ChckLength = Len(Application.Caller)
'ActiveSheet.Range("K8").Select this does nothing !!!!
With ActiveSheet
For Each obj In .OLEObjects
If TypeName(obj.Object) = "TextBox" Then
If Left(obj.Object.Text, ChckLength) = Message Then
obj.Object.Text = ""
Exit Sub
End If
End If
Next
End With
ActiveSheet.Range("K8").Select ' same here !!!!!
With ActiveSheet
For Each obj In .OLEObjects
If TypeName(obj.Object) = "TextBox" Then
Set cbo = obj.Object
Set TB = ActiveSheet.OLEObjects(cbo.Name)
If Trim(obj.Object.Text) = "" Then
obj.Object.Text = Message & " "
GoTo ending
End If
End If
Next
End With
ending:
cbo.Select
Selection.Activate
End Sub