Copia mismo valor de celda en otras sin uso series

El día 17-9-2010 formulé esta consulta. Nadie ha contestado. Probablemente no haya formulado bien la pregunta. A continuación la transcribo otra vez. Gracias por adelantado.
¿Cómo se podría repetir/copiar el valor que hay en una celda por ejemplo 15 en la celda A.5 y seguidamente ese 15 en la celda A.6, a7, A.8... Etc dependiendo del valor que haya en otras celdas adyacentes, por ejemplo num cuenta en la b.5, b6, b7, b8... Sin tener que copiar manualmente en las celdas de la columna A o bien por rellenar series?. Tener en cuenta que luego el rango en el que se hayan completado datos (a5:g14 por ejemplo) tiene que pegarse en otra parte de la hoja de cálculo. Todo este que os estoy comentando es que en una hoja excel tengo una pequeña aplicación contable, en donde dicha celda A5 y siguientes A.6, A.7, A.8 son el mismo número de asiento dependiendo de los datos que dicho asiento deba de contener con arreglo a la contabilidad del mismo. El número de asiento de esta celda A.5 lo obtengo automáticamente con una macro que asimismo me borra todos los datos que se hayan rellenado por ejemplo en el rango A5:G14 y me vuelve dar un nuevo numero de asiento en A5. Nota Podría poner fórmulas condicionales en ese rango A5:A14... Pero al ejecutar la macro me las borra al copiar los datos a otra parte de la hoja (Diario). Gracias y un saludo.
{"lat":36.976226784641,"lng":-2.691650390625}
1

1 Respuesta

31.975 pts. Vba
La puedes repetir pero... ya no es trabajo de una simple macro; requieres de programación en VBA, que es en sí una Macro pero con instrucciones y estructuras de control que no son generadas por la grabadora.
-
Te puedo ayudar pero, para percibir tu problema con más claridad, envíamelo a [email protected] con el asunto: "TODOEXPERTOS, pregunta directa" para que pueda filtrarlo con precisión.
-
Espero por tu respuesta.
-
Víctor Hugo
Hola experto:
¿Recibiste el el correo con la hoja que envíe el pasado 26-9-2010?
Ya estuvo. Pensé que era algo distinto.
-
=SI(B6<>"";A$5;SI(B6="";"")) 
-
Solo agrega el signo de DOLLAR antes del número de fila de la referencia A5, para que al ser copiada hacia abajo esta no cambie. Se le llama referencia absoluta.
-
Hola experto: La referencia absoluta la conozco y en este caso es como dices. Pero dado que las fórmulas las sitúo en el rango A:6-A:14 para que cada vez que meta un código de cuenta en el rango B6:b14 me aparezca el número de asiento (a5) en dicho A:6.. A14 al ejecutar la macro asignada al botón Contabilizar asiento me borra las fórmulas que se hayan escrito en dicho rango A6:a14, por lo que tengo que volver a escribirlas en cada toma de asiento nuevo. Esto es lo que si es posible me gustaría que no sucediera. Saludos.
A ver si te entendí. ¿Necesitas qué una macro copie la fórmula? Si es así, ¿La quieres en macro aparte o dentro de la misma que llamas con el botón "contabilizar"?
-
Buenas tardes Experto:
En tu última contestación me indicas si necesitaría que una macro copiara la fórmula. Ciertamente, vendría bien que se copiara la formula/formulas por macro. He intentado hacerlo con la grabadora pero no coge la fórmula, por lo tanto hay que programarlas y me pierdo un poco. Que este dentro del botón de "contabilizar" me parece magnifico, así no usamos dos botones. No obstante lo dejo a tu elección. De Todas formas te agradezco el rato de tu tiempo que estas usando en resolverme mi problemilla. Saludos.
La fórmula que te falta es:
-
ActiveCell.FormulaR1C1 = "=IF(RC[1]<>"""",R5C,"""")"
-
Pero, ya adentrándome en la estructura de tu aplicación, veo que no es necesario que borres las celdas que te preocupan, pues igual si no hay número de cuenta definido, el resultado es NADA, tal y como si no hubiera fórmula.
-
Esto es, de tu sentencia:
-
Range("a5:a14,F5:h14,b5:d14").Select
-
Quita el rango en cuestión y listo. Quedaría así:
-
Range("F5:h14,b5:d14").Select
-

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas