Visual Basic para Aplicaciones - crear function optima

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de GERARDO
Val: 8
Ha disminuido su posición en 72 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

crear function optima

Publicado por GERARDO (22 intervenciones) el 11/10/2015 06:51:11
Hola comunidad!!!
Tengo el siguiente problema, quería ver si llegamos a formas parecidas de resolverlo,
Es vba Excel .
Tengo los siguientes valores en una celda 1102,1301, 1103,1202
todos en la misma celda, tengo que hacer una function que haga que cada valor tenga un largo de 12 , o sea que tiene que quedar en otra celda los siguientes valores
' 1102',' 1301',' 1103',' 1202'
tener en cuenta que tiene que tener las comillas sencillas, y que entre una coma y el 1103 hay algunos espacios, y pa ponerle mas sabor al caldo, en esa celda puede haber valores de 5 o 6 digitos
La verdad yo soy nuevo en esto, y me tomo bastante tiempo desarrollar la function,¿Cuanto les tomara a ustedes?, o quizas hasta encuentren una solucion mas sencilla que la que yo tengo xD
Bueno espero jueguen
Saludos

creo que no se ven bien los valores que tienen que quedar, los dígitos deben ser los últimos, y la diferencia de la cantidad de dígitos y 12 serán los espacios en blanco, y las comillas sencillas en cada extremo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

crear function optima

Publicado por yktu (6 intervenciones) el 11/10/2015 15:26:35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public Function ff(ByVal rng As Range) As String
Dim s$, t$, u$, i%
On Error Resume Next
s = rng.Value
For i = 0 To 10
    t = ""
    t = VBA.Split(s, ",")(i)
    If VBA.Trim(t) = "" Then Exit For
    t = VBA.Trim(t)
    u = u & "'" & String(12 - VBA.Len(t), " ") & t & "',"
Next
u = VBA.Left(u, VBA.Len(u) - 1)
ff = u
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar