Te aclaro el alcance de las 2 instrucciones.
La primera calcula la cantidad de celdas con datos en col B. Si algún dato es de título se lo resta, en este caso solo tenemos 1 fila de títulos.
'le resté 1 celda ocupada con título
cant2 = Application.WorksheetFunction.CountA(Range("B:B")) - 1
La segunda, calcula cual es la última celda con datos.
cant1 = Range("B" & Rows.Count).End(xlUp).Row
Quiere decir que si luego le restas 1 por la de títulos, AMBAS te darán el mismo resultado.
Nota: la 2da instrucción se utiliza generalmente para obtener el fin de rango. Si luego le sumas 1 se utiliza para encontrar la primer fila vacía.
Por eso cuando se trata de 'contar' las filas ... quizás la 1ra es más clara, pero reitero AMBAS dan el mismo resultado y son totalmente válidas.
Debieras leer todos los ejemplos de la página 5 de la sección Macros de mi sitio. Viendo los distintos modelos quizás te quede más claro.
Quedo a la espera de la próxima consulta ...
Sdos
Elsa