Código: Seleccionar todo
Public Function aMid(A As String, B As Long, C As Long, Optional D As Boolean, Optional E As Boolean) As String
On Error Resume Next
'================================================================'
' AX: Función aMid '
' Call aMid("String", Comienzo, Longitud, UCase, Msgbox) '
' Agradecimiento: linkgl '
'================================================================'
Dim M As String
Dim N As String
If Not Len(A) > 0 Then Exit Function
If Not B > 0 Then Exit Function
If Not C > 0 Then Exit Function
If B > Len(A) Then Exit Function
If C > Len(Right(A, Len(A) - B + 1)) Then Exit Function
M = Right(A, Len(A) - B + 1)
N = Left(M, C)
Select Case D
Case True
N = UCase(N)
Case False
N = N
End Select
Select Case E: Case True: MsgBox N, vbInformation: End Select
aMid = N
End Function
Código: Seleccionar todo
Call aMid(String, Comienzo, Longitud, UCase/LCase, Msgbox)
He agregado dos nuevos parámetros a la función y ambos son opcionales. Uno es UCase para mostrar el resultado en mayúscula. El otro es para mostrar un mensaje, el mensaje muestra el resultado. Los dos son Boolean por lo que se denotan como True/False. Aquí les dejo un ejemplo:
Código: Seleccionar todo
Call aMid("campo", 2, 3, True, True)
Código: Seleccionar todo
Call aMid("campo", 2, 3, CBool(1), CBool(1))
Saludos