Me gustaría preguntar si alguien tiene desarrollada una función tal que cuando el usuario introduzca un número cualquiera, entonces la función devuelva la referencia de la columna asociada a ese número.
Algo así, por ejemplo:
Function ReferenciarColumnas(numero As Integer) As String
Application.ScreenUpdating = False
' Limpiamos los errores anteriores (por si acaso)...
Err.Clear
' Tratamos los errores de la función...
On Error Resume Next
' Si el número introducido no es válido, entonces...
If numero <= 0 Or numero > 16384 Then
' Notificamos al usuario con un mensaje de error...
MsgBox "El número introducido no es válido." & vbCr & _
"Por favor, el número introducido debe estar comprendido entre los valores 1 y 16384."
' En caso contrario...
Else
' Notificamos al usuario con un mensaje de confirmación...
MsgBox Chr(numero + 64)
End If
End Function
El problema es cuando el usuario introduce un valor superior a 26, ya que supera la letra "Z".
Y habría que empezar otra vez desde la columna "A", pero añadiéndole la siguiente letra al final.
Es decir,
Número: 27 ---> Columna: AA
Número: 28 ---> Columna: AB
Número: 29 ---> Columna: AC
... y así sucesivamente, hasta llegar a la columna XFD.
Esta es la típica función que ya está desarrollada.
Por eso, pregunto por el foro a ver si alguien se anima a compartirla conmigo.
Gracias por vuestro tiempo.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola a todos,
Me gustaría preguntar si alguien tiene desarrollada una función tal que cuando el usuario introduzca un número cualquiera, entonces la función devuelva la referencia de la columna asociada a ese número.
Algo así, por ejemplo:
Function ReferenciarColumnas(numero As Integer) As String Application.ScreenUpdating = False ' Limpiamos los errores anteriores (por si acaso)... Err.Clear ' Tratamos los errores de la función... On Error Resume Next ' Si el número introducido no es válido, entonces... If numero <= 0 Or numero > 16384 Then ' Notificamos al usuario con un mensaje de error... MsgBox "El número introducido no es válido." & vbCr & _ "Por favor, el número introducido debe estar comprendido entre los valores 1 y 16384." ' En caso contrario... Else ' Notificamos al usuario con un mensaje de confirmación... MsgBox Chr(numero + 64) End If End Function
El problema es cuando el usuario introduce un valor superior a 26, ya que supera la letra "Z".
Y habría que empezar otra vez desde la columna "A", pero añadiéndole la siguiente letra al final.
Es decir,
Número: 27 ---> Columna: AA
Número: 28 ---> Columna: AB
Número: 29 ---> Columna: AC
... y así sucesivamente, hasta llegar a la columna XFD.
Esta es la típica función que ya está desarrollada.
Por eso, pregunto por el foro a ver si alguien se anima a compartirla conmigo.
Gracias por vuestro tiempo.