Necesito ayuda con una macro

01/06/2007 - 10:11 por particular | Informe spam
Hola a tod@s

Tengo una celda, C3, cuyo valor es un texto creado de forma aleatoria
y otra celda D3 con un valor númerico.

Necesito una macro que haga lo siguiente:

Buscar el texto valor de C3 en fichero de texto "origen.txt". Si no lo
encuentra, recalcular.

Si lo encuentra tenemos tres opciones:

1.- Primera ocasión que lo encuentra. Crear el fichero "destino.txt" y
pegar en él el valor de C3.

En adelante

2.- Buscar el texto valor de C3 en fichero de texto "destino.txt". Si
lo encuentra, recalcular.

3.- Buscar el texto valor de C3 en fichero de texto "destino.txt". Si
no lo encuentra, pegar en él el valor de C3.

Gracias por la ayuda que me podáis ofrecer porque he intentado adaptar
varios códigos que he encontrado pero no consigo nada positivo.

Oscar

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
02/06/2007 - 09:14 | Informe spam
hola, Oscar !

Tengo una celda, C3... un texto creado de forma aleatoria y otra celda D3 con un valor numerico.
Necesito una macro que haga lo siguiente:
Buscar el texto valor de C3 en fichero de texto "origen.txt". Si no lo encuentra, recalcular.
Si lo encuentra tenemos tres opciones:
1.- Primera ocasion que lo encuentra. Crear el fichero "destino.txt" y pegar en el el valor de C3.
En adelante
2.- Buscar el texto valor de C3 en fichero de texto "destino.txt". Si lo encuentra, recalcular.
3.- Buscar el texto valor de C3 en fichero de texto "destino.txt". Si no lo encuentra, pegar en el el valor de C3.
... he intentado adaptar varios codigos que he encontrado pero no consigo nada positivo.



[parece que] se te han quedado algunos detalles 'en el tintero' -?- [p.e.]
1) no se aprecia la intervencion de la celda 'D3'
2) comentar cual seria la 'frecuencia' con que se estaria 'refrescando' la celda 'C3'
3) el asunto ese de "primera ocasion que lo encuentra"... "CREAR el archivo destino.txt" -???-
4) cual es el contenido de los archivos de texto ? [una 'simple' lista de textos en vertical ?.. varias columnas ?]
-> es probable que te convenga mantener abiertos los archivos de texto "origen" y "destino" -?-

podrias comentar [+/- exactamente] que es lo que se busca resolver ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 particular
02/06/2007 - 14:55 | Informe spam
Gracias Héctor, tienes razón.

1) no se aprecia la intervencion de la celda 'D3'


El código debe ejecutarse hasta que en el fichero "destino.txt" haya tantas entradas como indique la celda D3




2) comentar cual seria la 'frecuencia' con que se estaria 'refrescando' la celda 'C3'


La celda se refrescaría continuamente hasta que se cumpla lo anterior, número de entradas en "destino.txt" igual a D3.




3) el asunto ese de "primera ocasion que lo encuentra"... "CREAR el archivo destino.txt" -???-


Mientras no exista el valor de C3 en "origen.txt" no hace falta "destino.txt", aunque se podría crear antes y tenerlo en blanco.




4) cual es el contenido de los archivos de texto ? [una 'simple' lista de textos en vertical ?.. varias columnas ?]


Una simple lista de textos en vertical, una sola columna.




-> es probable que te convenga mantener abiertos los archivos de texto "origen" y "destino" -?-


No importa. Como más convenga.




podrias comentar [+/- exactamente] que es lo que se busca resolver ?


Es un sorteo. Genero números aleatoriamente y a cada número le corresponde un nombre. Si el nombre está en "origen.txt" debo incluírlo en "destino.txt". Así tantas veces como ganadores tenga ese sorteo.






Gracias por tu atención.

Oscar

<
Respuesta Responder a este mensaje
#3 Héctor Miguel
04/06/2007 - 08:35 | Informe spam
hola, Oscar !

[creo que] tu ultimo comentario 'abre' nuevas *interrogantes* :-(( [p.e.]

-> como se supone que se pueden enlazar/relacionar/comprobar/comparar/listar/agregar/... las variables que expones ?

- se trata de un sorteo

- generas numeros aleatoriamente
-> como ?... cuando ?... donde ?...

- cada numero tiene su correspodiente nombre
-> donde se puede *ver* que nombre corresponde a que numero ?

- existe una lista en un archivo de texto "origen.txt"
-> que contiene ?... los nombres ?... los numeros ? [y como se pueden relacionar ?]

- preguntas por un nombre ? en las celda 'C3'
- y requieres agregar x_apariciones [del nombre ?] segun dato-numerico solicitado en 'D3'
-> cuantos nombres pueden 'repetirse' ?... con que numeros se corresponderian ? [...]
-> como va a saber [el codigo] que las entradas *solicitadas* en 'D3' *verdaderamente existen* ?????

- los agregados deben irse a un archivo "destino.txt"

habra todavia 'detalles en el tintero' ?
saludos,
hector.

__ las consultas anteriores __
1) no se aprecia la intervencion de la celda 'D3'
El codigo debe ejecutarse hasta que en el fichero "destino.txt" haya tantas entradas como indique la celda D3



2) comentar cual seria la 'frecuencia' con que se estaria 'refrescando' la celda 'C3'
La celda se refrescaría continuamente hasta que se cumpla lo anterior, numero de entradas en "destino.txt" igual a D3.



3) el asunto ese de "primera ocasion que lo encuentra"... "CREAR el archivo destino.txt" -???-
Mientras no exista el valor de C3 en "origen.txt" no hace falta "destino.txt", aunque se podria crear antes y tenerlo en blanco.



4) cual es el contenido de los archivos de texto ? [una 'simple' lista de textos en vertical ?.. varias columnas ?]
Una simple lista de textos en vertical, una sola columna.



-> es probable que te convenga mantener abiertos los archivos de texto "origen" y "destino" -?-
No importa. Como mas convenga.



podrias comentar [+/- exactamente] que es lo que se busca resolver ?
Es un sorteo. Genero numeros aleatoriamente y a cada numero le corresponde un nombre.
Si el nombre esta en "origen.txt" debo incluirlo en "destino.txt". Asi tantas veces como ganadores tenga ese sorteo.
Respuesta Responder a este mensaje
#4 particular
04/06/2007 - 09:50 | Informe spam
Hola Héctor, gracias por tu atención.

Todo lo anterior está resuelto. LLegamos al punto donde en C3 va
apareciendo un nombre cada vez que recalculemos.

El fichero "origen.txt" contiene todos los nombres posibles. No
necesitamos relacionarlos con los números, eso ya está resuelto en C3.

No se repetirá ningún nombre porque comprobamos que esté en
"origen.txt" y no esté en "destino.txt".

He visto algo parecido para comprobar que el nombre exista. Creo que
era mid(l,1,10) o algo así.

Si es necesario que ese 10 ó el número que necesitemos sea fijo no hay
problema. puedo añadir a cada nombre tantas letras como sea necesario
para que todos tengan el mismo número de letras.

Veo que pretendes hacer todo pero la primera parte la tengo resuelta.
Lo que no consigo es el código que compruebe si C3 está en origen.txt;
si está en destino.txt y vaya rellenando destino.txt hasta el número
que aparece en D3.

Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida