• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 236
  • Last Modified:

vba screentip not working

no master at vba but feel i'm getting better.  See the below screenshot.  after I hit the spacebar after the "d" in find its giving me a screentip for the offset method not the find method.  Why is it doing this?

  • 2
  • 2
1 Solution
[ fanpages ]IT Services ConsultantCommented:

firstrow.Offset(0, 2) = shtNames.Range("a1").EntireColumn.Find

The IntelliSense feature is probably getting confused due to the structure of the statement you are using, or there is an issue with aligning the caret (text insert) position in the code module pane.

Moving or re-sizing the window may well resolve the issue.  Alternatively, adding spaces between your other code statements may work.

However, restructing the code statement into two distinct statments may resolve the issue too.

Try using a Range object for the result of the Find statement:

Dim objRange As Range
Set objRange = shtNames.Range("a1").EntireColumn.Find...<note what is shown in the "tooltip" here>


firstrow.Offset(0, 2) = objRange


Saqib Husain, SyedEngineerCommented:
also, try

firstrow.Offset(0, 2).value = shtNames.Range("a1").EntireColumn.Find
BigWill5112Author Commented:
Not that any of the below code makes sense but I tried what both of you guys suggested and neither worked.

ssaqibh - tried what you said and then when I added a space after find I received no intellisense popup at all.(Before I received the intellisense message for the offset method at this point)

fanpages - thanks for letting me know that this feature is "intellisense".  Had no idea.  Sad that I didn't know what caret meant either.  rookie here.  When I tried assigning a range object to the find statement the intellisense feature still did not pop up after adding a space in this assignment statement.

However, after much frustration I added an open parentheses and the intellisense feature worked.

Public Sub Test_Find()
Dim firstrow As Range, wst As Worksheet, expertrange As Range

Set firstrow = Worksheets(1).Range("a2")
Set expertrange = wst.Range("a2").EntireColumn.Find
firstrow.Offset(0, 2) = wst.Range("a2").EntireColumn.Find

End Sub
[ fanpages ]IT Services ConsultantCommented:

So simply adding the open parenthesis (bracket) "(" to the line "resolved" the issue?

Yes, by all means close the question.  That is indeed normal functionality!

Glad you learned a few things along the way though.

Good luck with the rest of your project.
BigWill5112Author Commented:
because it is the only thing that works.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now