Hi Dave,
Lots of things can be written in one line - that doesn't mean that they should be. Often it makes code harder to follow and more difficult to debug. If you find that it makes your procedure longer than you would like, you can always tuck it away in another procedure and call it - particularly if you use the code multiple times.
In this case, my opinion is that you should split it out. For example, at the moment, if the Range.Find() method doesn't find the search value then you'll get a runtime error. The settings for LookIn, LookAt and SearchOrder are saved each time you use the Range.Find() method so as a general rule of thumb, to be sure the search is correct, you should specify them all. Obviously, in this case, some of them aren't important because they won't affect this particular search, but something along these lines:
Now if the code errors because the column is full, it'd be easier to track it down (you could defensively code for that too, of course).
Btw, since you're searching across a single row, WorksheetFunction.Match() might be slightly quicker.
Then, if you don't have spaces in your data, you could look at using xlUp rather than xlDown.
The one liner of this (less the check that Match() found something) would be:
Bookmarks