Si la col A no tiene otras celdas más que las de la tabla (sin totales u otros textos al final) y las celdas no tienen fórmula (es decir que donde se ven vacías realmente lo están) el fin de rango se puede obtener como:
x = Range("A" & Rows.Count).End(xlUp).Row
En el video 30 de mi canal explico otro modo de encontrar el fin de rangos.
Luego habrá que recorrer desde fila inicio hasta x y evaluar si está vacía o no. Y si no lo está agregar su contenido a una cadena... algo así:
Sub mensaje()
'x Elsamatilde
'final de rango
x = Range("A" & Rows.Count).End(xlUp).Row
'recorrer col A y armar cadena
For i = 6 To x
If Range("A" & i) <> "" Then cadena = cadena & Range("A" & i) & "; "
Next i
'opcional: mostrar el mensaje
MsgBox cadena
End Sub
Notas: Esta macro dará los resultados esperados si la hoja cumple con las primeras condiciones que planteo al inicio. Si tu hoja tiene otra estructura debes dejarlo todo explicado.
Ajusta el inicio de rango para el bucle, en mi ejemplo es 6.
Si nunca habrá celdas vacías entre líneas no hará falta evaluarlo. Directamente será:
cadena = ---------
IMPORTANTE: el límite máximo para un MsgBox es de alrededor de 1024 caracteres pero depende de los saltos de carro, etc. Si vas a superar este número tendrás que optar por otro modo de presentar los datos.
Sdos y no olvides valorar la respuesta.
Elsa