Tomar un solo datos de una celda con macros

Buenas tardes experto
Tengo un problema ya que estoy haciendo una macro que extrae información de un libro el cual lo abre de la misma macro pero tengo un inconveniente ya que copio una celda especifica pero esta trae números y texto la copio en la macro y dentro de la macro necesito que ese código lo busque dentro de unos códigos pero como esta con texto no se como para que solo me evalúe el código sin el texto o alguna manera de desfragmentar la información y dejar solo el código, esta es la información que trae la celda:
2-01-05-01-01-03-05 retención ica comercial servicios demás actividades de servicios
Y solo necesito el código: 2-01-05-01-01-03-05.
E buscado y me dicen que mediante la formula =IZQUIERDA(S3;(ENCONTRAR(" ";S3;1)-1).
Pero no me funciona y estoy todavía con ese problema no se si me puedas ayuda, te lo agradecía inmensamente ya que lo necesito urgente.

2 respuestas

Respuesta
1
La fórmula es la correcta aunque le falta un paréntesis de cierre:
=IZQUIERDA(C10;(ENCONTRAR(" ";C10;1)-1))
Si no te funciona, debes indicar el resultado que te devuelve y xqé no es el deseado, pero así como está ajustada es justo lo que necesitas.
Hola Elsa
Lo probé y si efectivamente me trae lo que necesito pero al colocar la fórmula en otra celda y cuando mi macro trae el vaolr que deseo extraer debería copiar solo el código pero en la celda se queda tal cual como te lo pego y no hace nada más lo probé en otra hoja y si lo hace no se si sera en la macro que no me funciona la verdad me dejo loco te muestro
Celda S3:
2-01-05-01-01-03-05 retención ica comercial servicios demás actividades de servicios
Celda S5:
=IZQUIERDA(s3;(ENCONTRAR(" ";s3;1)-1))
Otra cosa puse la fórmula directamente en la celda s3 pero como mi macro trae en esa celda la información me borra la fórmula, o no se si mediante código pueda hacerlo mejor no se si me puedes ayudar te lo agradeciara mucho.
La fórmula debe ir en cualquier celda DISTINTA de S3, ya que en S3 irá el valor que luego necesitas extraer en parte.
Ahora, si tenés una macro que te trae valores y no siempre en S3 sino en cualquier otra celda, debieras incluir la fórmula en la macro.
Escribime aquí tu macro y yo te la ajusto. Aclarame dónde querés la fórmula en cada caso
Respuesta
1
La fórmula aparentemente está bien, pero es una fórmula para ponerla en una celda no en el código de VBA. Para el código la cosa sería como:
Dim a as String
Dim b as String
b = Range("A1")
a= Left(b, 19)
Suponiendo que la cadena está en A1 la variable a contiene lo que buscas. Ahora la puedes copiar a B1 po ejemplo
Range("B1") = a
Como habrás deducido puedes no usar a y b y directamente usar los rangos para la operación.
Si por algún motivo quieres usar la fórmula tendrás que hacerlo como:
a = WorksheetFunction.Left (....

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas