Excel - Excel de Rango a Punto

   
Vista:
Imágen de perfil de David

Excel de Rango a Punto

Publicado por David (3 intervenciones) el 11/06/2016 17:49:18
Saludos,
El archivo excel que adjunto contiene un codigo vb que permite de un rango de numeros separarlo segun empiesa a donde termine el rango, uniendo como podran apreciar la ilustracion linea con rpi y seguiendo la secuencia hasta rpf, que es inicial a final.

vista1

el problema es que en el modulo ejecuta la sigueinte linea, que la linea se multiplica por 100000 y suma por el rpi

Sheets("reportes por tramos").Cells(n, 11) = Sheets("reportes por tramos").Cells(j, 2) * 100000 + k

el problema es el multiplicar por 100000 ya que si le cambio el valor para lo rpi o rpf que contengan 4 digitos por 10000 me devuelve el valor correcto pero para los numeros que contienen 5 digitos me da mal valor.

Como puedo aplicar una condicional que me reconosca si el rpi y rpf son de 4 o 5 digitos para que me multiplique la linea el valor correcto o, realizar un simple concatenado de la linea con el rpi hasta el rpf.



Gracias por la yuda de antemano
vista2
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
Imágen de perfil de wordexperto.com

Excel de Rango a Punto

Publicado por wordexperto.com (487 intervenciones) el 11/06/2016 18:31:33
Hola David:
¡Mira que os gustan las Macros!
Yo creo que esta fórmula en la columna Id te soluciona el problema: =B2&TEXTO(C2;"00000")
https://wordexperto.com/blog/
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

Excel de Rango a Punto

Publicado por Cacho R (44 intervenciones) el 12/06/2016 19:06:15
Hola! David.
¿Querrías analizar si lo que adjunto te podría servir?...

Saludos, Cacho R.
.
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
Imágen de perfil de David

Excel de Rango a Punto

Publicado por David (3 intervenciones) el 12/06/2016 23:14:22
Saludos,
Gracias amigo pero sigue con el mismo problema


ERROR

Como le comentaba mi problema es cuando tengo en la columna C=Rpi y D=Rpf que si se fija en la ilustración que adjunto al momento de correr la macro en la columna K=ID me coloca todos con 7 cifras siendo que algunas tendrían que ser con 6 no sería problema hacerlo manualmente el concatenado pero este proceso lo utilizo constantemente.
Estoy dando otro tipo de solución no la esperada ni deseada pero que me sacara de apuros mientras tanto, de que termine la subo para que le den una mirada al código.


atte. Davidmjg
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
Imágen de perfil de Andres Leonardo

Excel de Rango a Punto

Publicado por Andres Leonardo (483 intervenciones) el 13/06/2016 18:56:03
Bueno si te gustan las macros como dice el compañero
Espero te sirva

pon estas validacion

1
2
3
4
5
6
If Len(Sheets("reportes por tramos").Cells(j, 7)) = 5 Then
  ' Creo que es la  n11  pero si no pon tu la celda que debe ser    
  Sheets("reportes por tramos").Cells(n, 11) = Sheets("reportes por tramos").Cells(j, 2) * 100000 + k
    Else
     Sheets("reportes por tramos").Cells(n, 11) = (Sheets("reportes por tramos").Cells(j, 2) * 10000 + k)
    End If
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

Excel de Rango a Punto

Publicado por davimjg davidmjg@hotmail.com (3 intervenciones) el 14/06/2016 06:06:56
Estimado andres,
Las lineas que adjuntas me dieron luces modifique de la siguiente manera:

If Len(Sheets("reportes por tramos").Cells(j, 3)) = 5 Then Sheets("reportes por tramos").Cells(n, 11) = (Sheets("reportes por tramos").Cells(j, 2) * 100000 + k) Else Sheets("reportes por tramos").Cells(n, 11) = (Sheets("reportes por tramos").Cells(j, 2) * 10000 + k)

sustitui toda la linea por la condicional la Cells(j, 7) no iva a dar por q la condicional me hacia referencia a una celda donde me estaba contando los caracteres y al contar solo daba 1 caracter por tal motivo directamente hice mension del Rpi ahi si cuenta y corrio de maravilla, pero ahi viene otro problema que ya estoy trabajando en ello y es unico por que es cuando hay la transicion de 4 a 5 digitos que solo sucedera una sola vez
que en Rpi empiece en 4 digitos y en el Rpf termine en 5 digitos, por el momento estoy bien con esta solucion pero la idea es que sea funcional,

Gracias a todos por sus sugerencias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Andres Leonardo

Excel de Rango a Punto

Publicado por Andres Leonardo (483 intervenciones) el 14/06/2016 16:24:35
David

me alegro mucho que te haya servido la verdad a veces es complicado leer y entender todo el problema ... pero vi que en lo que querias hacer faltaba esa validacion

Q gusto haber tenido algo que te ayude a solventar tu novedad

SAludos desde Ecuador.
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