como inserto un mismo caracter al final d la cad d texto d cada ce

02/02/2008 - 16:57 por Any | Informe spam
Tengo un archivo cerca de 1000 registros de codigos a los cuales deseo
agregarles al final de cada uno (1) es decir 90876589 es el codigo original y
quiero que sea 90876589(1) pero son mas de 1000 codigos alguien puede
ayudarme? por favor!

Preguntas similare

Leer las respuestas

#1 YoMismo
02/02/2008 - 18:45 | Informe spam
Quizá puedas con =concatenar()

Debes poner una columna junto a la de los códigos con mil veces 1, cada
registro y luego junto a esa columna escribes (si es que los códigos
estuvieran en A y los unos en B) =concatenar(a1;b1) y copias hasta donde
necesites (mil registros) luego copias , pegado especial, valores.

Esta forma es a lo bestia, pero seguro que algún forero te dará algo menos
rudimentario.

Saludos


"Any" escribió en el mensaje de noticias
news:
Tengo un archivo cerca de 1000 registros de codigos a los cuales deseo
agregarles al final de cada uno (1) es decir 90876589 es el codigo
original y
quiero que sea 90876589(1) pero son mas de 1000 codigos alguien puede
ayudarme? por favor!
Respuesta Responder a este mensaje
#2 Héctor Miguel
02/02/2008 - 23:08 | Informe spam
hola, Any !

Tengo un archivo cerca de 1000 registros de codigos a los cuales deseo agregarles al final de cada uno (1)
es decir 90876589 es el codigo original y quiero que sea 90876589(1) pero son mas de 1000 codigos ...



si suponemos que los ~1000 codigos estan en el rango [A1:A1000]
prueba desde la ventana de inmediato (en el editor de vba) la siguiente instruccion (pulsas enter para finalizar):
[a1:a1000] = evaluate("a1:a1000&""(1)""")

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#3 Ivan
03/02/2008 - 01:54 | Informe spam
hola Hector (y Cia.)

una vez mas me vuelvs a dejar 'alucinado' =>

[a1:a1000] = evaluate("a1:a1000&""(1)""")



he estado echando un ojo a la ayuda con evaluate y no consigo entender
porque funciona.

leyendola hubiese podido pensar (y la verdad es que solo tras ver tu
propuesta) que quizas valiese algo tipo =>

[a1:a1000] = evaluate([a1:a1000] & "(1)")

o similar, pero no se si es que se me escapa algo en dicha ayuda (ya
sabes, la dichosa terminologia) o no se que, pero no aabo de ver porqu
funciona

si pudieras explicarlo te lo agradezco. Parece bastante interesante

en cualquir caso gracias por lo que me toca. Lo añado a la saca

un saludo
Ivan

PD: aunque he intentado corregir la mayoria, es posible que mi
teclado
se haya zampado unas cuantas letras (sobre todo la e, s, d y c) pero
mientras no pueda cambiarlo solo espero que no vaya a mas su apetito
Respuesta Responder a este mensaje
#4 Héctor Miguel
03/02/2008 - 04:35 | Informe spam
hola, Ivan !

[a1:a1000] = evaluate("a1:a1000&""(1)""")



he estado echando un ojo a la ayuda con evaluate y no consigo entender porque funciona.
leyendola hubiese podido pensar ... que quizas valiese algo tipo =>
[a1:a1000] = evaluate([a1:a1000] & "(1)")
o similar, pero no se si es que se me escapa algo en dicha ayuda (ya sabes, la dichosa terminologia)
o no se que, pero no acabo de ver porque funciona ...



1) en la primera parte de la expresion: [a1:a1000]
vba puede interpretar expresiones delimitadas por corchetes como cadenas de texto (evaluadas a traves de excel)
hablando de rangos se conoce como "notacion abreviada" y es el equivalente de la expresion (vba): Range("a1:a1000")
suponiendo una hoja que se llame "Hoja1", las siguientes expresiones son (+/-) lo mismo para vba:
Worksheets("hoja1").Range("a1") <-> [hoja1!a1]
si alguna referencia contiene espacios, deberas delimitar la expresion por apostrofos dentro de los corchetes (p.e.)
Worksheets("hoja de nombre largo").Range("a1") <-> ['hoja de nombre largo'!a1]

2) en la segunda parte de la expresion: evaluate([a1:a1000] & "(1)")
el metodo evaluate(...) tambien "le pregunta" a excel como evalua la referencia pasada en su argumento
solo que el argumento debe ser (re)convertido a una expresion de cadena de texto ("textualmente") p.e.
si suponemos que no se conoce el rango pero se tiene seleccionado, la expresion debe cambiarse a:
selection = evaluate(selection.address & "&""(1)""")
si en lugar de agregar (1) al final de cada valor en las celdas del rango, quisieras depositar UNA doble comilla -> "
(ya sabes el manejo de las comillas dobles a veces requiere de dobles/triples/cuadruples/... "juegos de comillas dobles")
la expresion anterior cambiaria a: -> selection = evaluate(selection.address & "&""""""""")

en fin, este tema tambien podria dar lugar a un "capitulo aparte" (hablando de vba/excel/matrices/... etc.) :))

saludos,
hector.
Respuesta Responder a este mensaje
#5 Héctor Miguel
03/02/2008 - 04:41 | Informe spam
hola (de nuevo), Ivan !

(perdon, utilice para el ejemplo no la propuesta original sino la prueba que intentabas) :))

esta parte:
2) en la segunda parte de la expresion: evaluate([a1:a1000] & "(1)")

debio decir:
2) en la segunda parte de la expresion: evaluate("a1:a1000&""(1)""")

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