DESCOMPONER DATO DE CELDA

18/10/2006 - 03:56 por Mirtha Velásquez | Informe spam
Saludos, nuevamente necesitando ayuda, tengo celdas q tienen este tipo de
datos: 5/2, 10/9, 7/6, etc, etc. Mediante código necesito capturar el valor
de cada celda descomponerlo y almacenarlo en variables.
Ejemplo:

5/2
Descomponiendolo me deberia dar esto
VAR_A = 5
VAR_B = 2

10/9
Descomponiendolo me deberia dar esto
VAR_A = 10
VAR_B = 9

Espero me puedan ayudar, estoy segura que si.

Mirtha V.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/10/2006 - 04:23 | Informe spam
hola, Mirtha !

... tengo celdas q tienen este tipo de datos: 5/2, 10/9, 7/6, etc, etc.
Mediante codigo necesito capturar el valor de cada celda descomponerlo y almacenarlo en variables.
Ejemplo:
5/2
Descomponiendolo me deberia dar esto
VAR_A = 5
VAR_B = 2
10/9
Descomponiendolo me deberia dar esto
VAR_A = 10
VAR_B = 9



suponiendo que 'una' celda es la celda 'activa'... prueba un codigo +/- como el siguiente:

Dim A As Byte, B As Byte
With ActiveCell
A = Left(.Text, InStr(.Text, "/") - 1)
B = Mid(.Text, InStr(.Text, "/") + 1)
End With
MsgBox A & vbCr & B

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Héctor Miguel
18/10/2006 - 04:25 | Informe spam
hola [de nuevo], Mirtha !

p.d. por cierto... no se si regresaste a tu consulta anterior [la de las fracciones] -?-

por si las dudas... te hago de nueva cuenta una pregunta 'existencial' [para mi] :))

... por ejemplo cuando dividia... 21/10 en la matriz de resultados me deberia salir 19/9
pero cuando tocaba dividir 4/1 me deberia salir solo el "4" y no 4/1. en otra palabras un numero entero...



entiendo que 4/1 es lo mismo que -simplemente- 4 [reducido a su 'minima expresion'] ;)
[si embargo]... me sigue 'intrigando' eso de que 21/10 'debe salir' como 19/9 ???

hay algo que me estoy 'perdiendo' ?

comentas [si hay algo 'comentable'] ?
saludos,
hector.
Respuesta Responder a este mensaje
#3 Mirtha Velásquez
18/10/2006 - 07:00 | Informe spam
Hola Héctor, gracias por soportarme tanto, todo de maravillas, funciona a la
perfección y es justo lo que necesitaba, pero se me presento un caso
"especial", resulta que ahora tambien hay numeros enteros "6" y cual el
código que enviaste lo lee genera un error. Ahora la pregunta seria ¿cómo
hacer para que cuando lea un numero asi lo pase de largo? ... que ni lo mire
...jiji.

Saludos

Mirtha V.

"Héctor Miguel" escribió en el mensaje
news:
hola, Mirtha !

... tengo celdas q tienen este tipo de datos: 5/2, 10/9, 7/6, etc, etc.
Mediante codigo necesito capturar el valor de cada celda descomponerlo y
almacenarlo en variables.
Ejemplo:
5/2
Descomponiendolo me deberia dar esto
VAR_A = 5
VAR_B = 2
10/9
Descomponiendolo me deberia dar esto
VAR_A = 10
VAR_B = 9



suponiendo que 'una' celda es la celda 'activa'... prueba un codigo +/-
como el siguiente:

Dim A As Byte, B As Byte
With ActiveCell
A = Left(.Text, InStr(.Text, "/") - 1)
B = Mid(.Text, InStr(.Text, "/") + 1)
End With
MsgBox A & vbCr & B

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Respuesta Responder a este mensaje
#4 Mirtha Velásquez
18/10/2006 - 07:55 | Informe spam
Hola, ahora me "atrevo" a "aclarar" tu duda ... de hecho que me siento
honrada ese honor... muy pocos lo tendran ... jijiji
Bien, para empezar lo que busco es obtener resultados y algunos resultados
se presentan en enteros y otros en decimales, necesariamente los enteros no
se tocan y quedan asi como estan.
Ejemplo : 10, 1, 5, etc. El detalle es con los resultados que tienen
decimales, a estos los tengo que convertir en fracciones sin nada de
enteros. Por ejemplo el resultado de la operación 4-3/5*3 = 2.2 ahora "2.2"
no me es útil porque tiene un entero "2", es por eso que lo convertimos a
fracción y el resultado natural seria esto 2 1/5 y como observas "tambien"
tiene un entero "2" es por eso que lo volvemos a hacer fracciones, esta vez
mas pequeñas para descomponer "2" y el resultado seria 11/5, si comprobamos
sumano 11 veces 1/5 nos da como resultado 2.2. Lo mismo se diera con el
resultado de la operación 21/10 = 2.1 luego lo convertimos a 2 1/10 te daras
cuenta que esta con un entero entonces para finalizar lo convertimos en
francción más pequeña y el resultado seria 19/9.
En Excel la manera de hacerlo como ya se vio es usando el formato "?/?" en
la celda del resultado. Claro que se puede hacer directamente pero para
poder entenderlo.

Ufff !!! ... ojala que mi "aclaración" cumpla con su objetivo y no que haya
mareado mas. Si es asi disculpame(disculpenme).

Saludos.

Mirtha V.



"Héctor Miguel" escribió en el mensaje
news:u3I$
hola [de nuevo], Mirtha !

p.d. por cierto... no se si regresaste a tu consulta anterior [la de las
fracciones] -?-

por si las dudas... te hago de nueva cuenta una pregunta 'existencial'
[para mi] :))

... por ejemplo cuando dividia... 21/10 en la matriz de resultados me
deberia salir 19/9
pero cuando tocaba dividir 4/1 me deberia salir solo el "4" y no 4/1. en
otra palabras un numero entero...



entiendo que 4/1 es lo mismo que -simplemente- 4 [reducido a su 'minima
expresion'] ;)
[si embargo]... me sigue 'intrigando' eso de que 21/10 'debe salir' como
19/9 ???

hay algo que me estoy 'perdiendo' ?

comentas [si hay algo 'comentable'] ?
saludos,
hector.

Respuesta Responder a este mensaje
#5 Héctor Miguel
18/10/2006 - 08:04 | Informe spam
hola, Mirtha !

... se me presento un caso "especial", resulta que ahora tambien hay numeros enteros "6"
... como hacer para que cuando lea un numero asi lo pase de largo? ... que ni lo mire



p.e.

Dim A As Byte, B As Byte
With ActiveCell
If InStr(.Text, "/") = 0 Then Exit Sub ' o mandas la rutina a otro lado -?- '
A = Left(.Text, InStr(.Text, "/") - 1)
B = Mid(.Text, InStr(.Text, "/") + 1)
End With
MsgBox A & vbCr & B

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida