Trabajando con una tabla como puedo ir a la ultima celda de la columna I la cual tiene una formula " =I8 " y quisiera limpiar la celda para que este en blanco.
Lo que quiero hacerlo es mediante macro, es una tabla que quiero eliminar el dato con esa formula, la cual al momento de agregar una nueva fila en la tabla recorre la formula y bueno la quiero eliminar, voy a subir el archivo para que lo analices por favor, y gracias por tus grandes ayudas en todo.
Sub limpiar() Cells(7, 9).Select Selection.End(xlDown).Select Selection = Delete End Sub
Y funciona de maravilla, gracias por la gran idea, y bueno aprovechando tús conocimientos y espero no molestarte, pero como ahora hago para que en la ultima celda que la limpie ingrese una formular? parece algo raro lo qeu pregunto pero es para hacer qaue mi proyecto funcione como estoy pensando, osea quiero que en esa celda ingresar la formula =IB9 , o sea te explico en mi librera de bancos como esta en uso los totales de mi tabla la formula de la columna I no baja solo la celda con el dato y lo que yo quiero es que bueno donde esta el total de la columna I lo limpie y lo refresque con el nuevo dato del último dato de esa columna, por eso estoy haciendo esta macro, que limpie el ultimo dato de la columana I despues incrementa una fila en mi tabla y despues vuelva a copiar el saldo de la columna I .
Gracias por el tiempo y la paciencia, o si me dices que vuelva a subir como nuevo tema lo haré porque con tu ejemplo este tema estaría solucionado, solo me faltaria ese otro detalle de ingresar una formula en la celda vacia.
En IB9 no tienes ninguna fórmula. Tampoco parece que te refieras a B9 ni a I9...
En cualquier caso, para introducir la fórmula lo que tienes que hacer es lo siguiente:
Activecell.formula = "pon aquí la fórmula como la escribirías en la celda"
Algunos matices:
-No olvides colocar el = delante (dentro de las comillas)
-Trata la fórmula como un texto. Si no conoces la columna o la fila, pero la puedes identificar dinámicamente en la programación, usa las opciones para concatenar texto (variables de texto, símbolo &, etc.)
-Si utilizas cualquier función (por ejemplo, SUMA() ), debes utilizar la función en inglés, incluso si tienes la versión de Office en español. Para eso puedes encontrar equivalencias de funciones en la web preguntándole a Google.
Espero que te sirva. Si necesitas algo más concreto, pídelo, por favor.
Si tienes razon, disculpas, es en el I30 que tengo la formular =I30 , como te digo esto es variable porque va modificandose cada que ingreso una nueva fila en la tabla, estoy volviendo a subir el archivo, y si ahora esta la formula en la I30.
Haz lo siguiente, tal y como lo tienes ahora, pon en I31 la siguiente fórmula:
=DESREF(I31;-1;0)
Esta fórmula lo que hace es poner en la celda en la que está el mismo valor que haya en la celda inmediatamente superior a la I31. Como estamos en I31, lo que hace es poner lo que hay en la celda superior a la que estamos.
Cronnnnnnnnn eres un capo, yo buscando una solución a este inconveniente y con este tú gran ejmplo es más que suficiente para mi dolor de cabeza, gracias totales
Nuevamente molestandote, te cuento que hice varias pruebas con mi libro de bancos y la formula que me indicas no baja de celda :( se queda en la celda I31 :( ayuda por favor
[FIN] [flecha abajo] ¿?
[Ctrl] [flecha abajo] ¿?
------
Ya sé Excel, pero necesito más.
Estimado Pacomegía:
Lo que quiero hacerlo es mediante macro, es una tabla que quiero eliminar el dato con esa formula, la cual al momento de agregar una nueva fila en la tabla recorre la formula y bueno la quiero eliminar, voy a subir el archivo para que lo analices por favor, y gracias por tus grandes ayudas en todo.
Un abrazo
Jesús
Jesus Martinez Plantarosa
prueba con lo siguiente:
Cells(1,xxx).select 'xxx es el número de la columna. La A es 1, la B es 2, y así sucesivamente
Selection.End(xlDown).Select
Estimado Cron:
Hice así la macro
Sub limpiar()
Cells(7, 9).Select
Selection.End(xlDown).Select
Selection = Delete
End Sub
Y funciona de maravilla, gracias por la gran idea, y bueno aprovechando tús conocimientos y espero no molestarte, pero como ahora hago para que en la ultima celda que la limpie ingrese una formular? parece algo raro lo qeu pregunto pero es para hacer qaue mi proyecto funcione como estoy pensando, osea quiero que en esa celda ingresar la formula =IB9 , o sea te explico en mi librera de bancos como esta en uso los totales de mi tabla la formula de la columna I no baja solo la celda con el dato y lo que yo quiero es que bueno donde esta el total de la columna I lo limpie y lo refresque con el nuevo dato del último dato de esa columna, por eso estoy haciendo esta macro, que limpie el ultimo dato de la columana I despues incrementa una fila en mi tabla y despues vuelva a copiar el saldo de la columna I .
Gracias por el tiempo y la paciencia, o si me dices que vuelva a subir como nuevo tema lo haré porque con tu ejemplo este tema estaría solucionado, solo me faltaria ese otro detalle de ingresar una formula en la celda vacia.
Un abrazo
Jesús
Jesus Martinez Plantarosa
Perdona, pero no he entendido lo que necesitas.
No sé a qué te refieres con la fórmula =IB9
En IB9 no tienes ninguna fórmula. Tampoco parece que te refieras a B9 ni a I9...
En cualquier caso, para introducir la fórmula lo que tienes que hacer es lo siguiente:
Activecell.formula = "pon aquí la fórmula como la escribirías en la celda"
Algunos matices:
-No olvides colocar el = delante (dentro de las comillas)
-Trata la fórmula como un texto. Si no conoces la columna o la fila, pero la puedes identificar dinámicamente en la programación, usa las opciones para concatenar texto (variables de texto, símbolo &, etc.)
-Si utilizas cualquier función (por ejemplo, SUMA() ), debes utilizar la función en inglés, incluso si tienes la versión de Office en español. Para eso puedes encontrar equivalencias de funciones en la web preguntándole a Google.
Espero que te sirva. Si necesitas algo más concreto, pídelo, por favor.
Un saludo
Si tienes razon, disculpas, es en el I30 que tengo la formular =I30 , como te digo esto es variable porque va modificandose cada que ingreso una nueva fila en la tabla, estoy volviendo a subir el archivo, y si ahora esta la formula en la I30.
Ayuda por favorrrrrr gracias
sludos cordiales
Jesús
Jesus Martinez Plantarosa
Haz lo siguiente, tal y como lo tienes ahora, pon en I31 la siguiente fórmula:
=DESREF(I31;-1;0)
Esta fórmula lo que hace es poner en la celda en la que está el mismo valor que haya en la celda inmediatamente superior a la I31. Como estamos en I31, lo que hace es poner lo que hay en la celda superior a la que estamos.
Saludos
Cronnnnnnnnn eres un capo, yo buscando una solución a este inconveniente y con este tú gran ejmplo es más que suficiente para mi dolor de cabeza, gracias totales
Un abrazo
Jesús
Jesus Martinez Plantarosa
Estimado Cronn:
Nuevamente molestandote, te cuento que hice varias pruebas con mi libro de bancos y la formula que me indicas no baja de celda :( se queda en la celda I31 :( ayuda por favor
Saludos
Jesús
Jesus Martinez Plantarosa
La fórmula yo la puse en la celda a mano, no mediante código, y sí me funcionaba.
Por favor, dame más datos, o anexa el archivo para poder echarle un vistazo.
Un saludo
Por fa dale una chequeadita, adjunto el archivo.
Saludos
Jesús
Pd. Cuando aumento una fila no recorre la formula :(
Jesus Martinez Plantarosa
Prueba a añadir la fila así:
colócate en la última celda
Cells(7, 9).Select
Selection.End(xlDown).Select
Activecell.offset(-1,0).select
Selection.ListObject.ListRows.Add AlwaysInsert:=False
Así debería funcionar
Negativo :( :(
No baja la formula , o sera que me puedes mandar el archivo modificado por favor ?
Saludos
Jesús
Jesus Martinez Plantarosa
Tienes la fórmula mal.
En el último archivo que subiste, en la celda I25 (que es la última) haces referencia a I24. Es un error.
Tienes que hacer referencia a la propia I25 así:
=DESREF(I25;-1;0)
De esta manera sí que me funciona con tu macro.
Un saludo
Pequeño y gran detalle ahora si todo biennn gracias milllll
Un abrazo
Jesús
Jesus Martinez Plantarosa