Función inversa a MID

Hola Elsa, esperando estés muy bien te quería consultar algo... :
Mira se trata de conseguir algo similar a un inverso de la función MID :
Por ejemplo :
VARIABLE1 = Range("A2").Value
V1 = Mid(VARIABLE1, 2, 4)
(Al hacer eso puedo obtener la cadena que empieza en la posición 2 y de largo 4 de la celda A2. Pero
¿Cómo puedo ingresar la cadena "aabbccdd" en la celda A3 que empiece en la posición 5 tenga largo 8, por ejemplo?
Ayúdame por favor.. Muchas gracias
nos vemos

1 respuesta

Respuesta
1
Con la misma instrucción. Ejemplo:
cadena = "aabbccdd"
'guardo el largo total de la cadena
largo = Len(cadena)
range("A3").value = Mid(cadena,5,largo-4)
El último argumento indica el largo total de la cadena a partir de la posición 5.
Nota: Si necesitas que el largo sea 8, la última instrucción quedará como:
range("A3").value = Mid(cadena,5,8)
Saludos
Elsa
** Colección de manuales Excel en:
Hola Elsa agradezco tu ayuda pero no era lo que quería... te explico..
Necesito insertar una cadena en una celda pero de una posición distinta a 1
ejemplo : si celda a1 = "MI CASA"
Ingresar en la posición 10 la palabra "CHILE"
Es decir quedaría : "MI CASA CHILE"
Y no "MI CASACHILE"
Es decir que deje los espacios correspondientes según la posición que le indique... si deseo ingresar también "SANTIAGO" en la posición 30 que quede
"mi casa chile santiago"
Esa es la idea...
Por favor ayúdame..
Gracias...
Entonces si: A1= "MI CASA" podés incluir el espacio en la variable cadena= " CHILE". La instrucción será:
Range("A1").value = Range("A1") & cadena
Si la cadena se encuentra en otra celda, supongamos A3 entonces será:
Range("A1") = Range("A1") & " " & range("A3")
Saludos y comentame si comprendí la consulta.
Elsa, creo que no me comprendiste porque se concatenar información, pero lo que necesito es concatenar, pero según una posición. Ejemplo :
Si concateno
A1 = MI CASA
A2 = SANTIAGO
La idea es concatenar A1 con A2 pero la celda A2 se concatene en la posición 20, es decir quedaría de la siguiente manera :
Mi casa santiago
Es decir con el espacio que se genera por efecto de comenzar en la posición 20
y no que quede MI CASASANTIAGO
Perdón... ¿pero esto no es lo que necesitas?
.... Range("A1") = Range("A1") & " " & range("A3")
A los datos de tu ejemplo sería:
=Range("A1") & " " & range("A2")
Y esto te devolverá justamente lo que necesitas
Ahora, si A2 = abcdefghijklmnopqrsSANTIAGO
entonces será lo que te indiqué en la primer respuesta:
Sub CONCATENO()
Range("A3") = Range("A1") & " " & Mid(Range("A2"), 20, Len(Range("A2")) - 19)
End Sub
Si aún así no es lo que estás necesitando enviame el ejemplo a mi correo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas