What I generally do in such situations is just use EXCEL functions to
parse the data. For example, if you import the data into column A,
you could use a formula like this to keep a running value of the last
time BSC was found:
=IF(LEFT(A2,3)="BSC",A2,A1)
Then do a similar thing for each value of the group you want to keep.
You also need to have something that will trigger the generation of
each group. Then just pick up all of the "carried forward" values for
your observation. Copy and paste values to another range and sort,
then delete everything you don't want to keep.
To me, this method is a little easier than the VBA because I can see
the exceptions to the rule as I'm developing each rule when I work on
the formulas. But it can be 6 of one and a half dozen of the other.