.
Ok, Karlos
En realidad, eso no es lo que planteaste en la pregunta original:
"... Que me indique en la celda D3 A24"
Entonces modifiqué la rutina para que coloque en D3 cuál es el número de formulario siguiente.
Asumiré, a tal fin, que ellos se identifican con una serie de letras al principio y un número de orden al final, como el ejemplo que diste (FB55).
Sub ProxForm()
'---- Variables modificables ----
'=== Karlos, modifica estos datos de acuerdo a tu proyecto:
HojaOrig = "Hoja1" 'Hoja donde está la lista de formularios
CeldaOrig = "A1" 'Celda donde inicia listado de formularios
HojaDest = "Hoja2" ' Hoja donde dejar el próximo formulario
CeldaDest = "D3" ' Celda donde dejar el próximo formulario
'---- fin Variables
'
'---- inicio de rutina:
'
UltCelda = Sheets(HojaOrig).Range(CeldaOrig).End(xlDown).Address(False, False)
Formulario = Trim(Sheets(HojaOrig).Range(CeldaOrig).End(xlDown).Value)
Letra = ""
Nume = ""
Largor = Len(Formulario)
If Len(Formulario) Then
For posi = 1 To Largor
Caracter = Mid(Formulario, posi, 1)
'separa letras
If Not IsNumeric(Caracter) Then
Letra = Letra & Caracter
'separa numero
Else
Nume = Nume & Caracter
End If
Next
End If
Proximo = Letra & Nume + 1
'Sheets(HojaDest).Range(CeldaDest).Value = Sheets(HojaDest).Range(UltCelda).Offset(1).Address(False, False)
Sheets(HojaDest).Range(CeldaDest).Value = IIf(Len(Proximo), Proximo, "No encontrado")
End Sub
Las variables son las mismas, solo que en la celda de destino dejará el código del próximo formulario a utilizar. A este efecto no importa con qué letras empiece, la rutina repetirá las que encuentre en la última celda ocupada.
Espero que sea lo que necesitas.
Un abrazo
Fer
.