countnonblank2 = Application.WorksheetFunction.CountA(myRange)
deve ser
countnonblank2 = Application.WorksheetFunction.CountA(nuRange)
como você está contando células não vazias na coluna B e usando-as na função VLOOKUP .
editar:
Há mais falhas no seu código. myRange não é declarado como um intervalo, mas como uma variante! Uma declaração como Dim a,b,c as range define apenas c como um intervalo e a e b como variantes. A sintaxe correta seria Dim a as range, b as range, c as range .
No seu código countnonblank1, myRange,inpt, Msg, Title todos precisam de edição.