Inicio > Microsoft Excel > fejoal > almacenamiento

almacenamiento

Experto:
Usuario:
Fecha: 04/12/2008
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
04/12/2008
juanemilio, usuario preguntando en Microsoft Excel
Usuario
Buenos dias. Mi pregunta es la siguiente. Quiero introducir datos en una serie de celdas y que estos datos se queden almacenados en otra tabla. De manera que si borro los datos que introduje en primera instancia, no se borren de la tabla donde los estoy almacenando. Gracias de antemano por su ayuda.
04/12/2008
juanemilio, experto respondiendo en Microsoft Excel
Experto
Hola, Juan Emilio

Digamos en principio que MS Excel no cuenta con ninguna utilida standard para lograr lo que pretendes.
Por tanto, habrá que aventurarse a diseñar una macro para que lo haga.

En realidad no es una tarea sencilla. Sobre todo porque no diste las direcciones donde están las celdas de entrada de datos

Asumiré, entonces, que lo que quieres es una especie de máscara de entrada, de forma tal que al ingresar los datos en ella se transfieran a la segunda hoja *agregando las líneas una despues de la otra*.


Usaremos el evento Change, como sugerías, controlando que la celda final de una serie -horizontal- de celdas a cargar sea D2 (Ultima a celda a cargar de la fila 2, pero puedes cambiarlo si esa no fuera la celda final). Obviamente otra disposición de celdas, necesitaría que sea indicado en la macro

Para que funcione, activa el editor de Visual Basic (presiona Alt+F11) y busca la hoja donde quieres que esto ocurra (donde harás la carga de datos). Da doble click sobre ella.
Copia el código siguiente y pégalo en el panel desplegado a la derecha de su Editor de Visual Basic:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address(False, False) = "D2" Then FormCarga
End Sub

Este código controla que estuvieras en la celda D2 y, si así fuera, dispara la macro FormCarga.

Inserta un módulo nuevo y allí pegarás el código siguiente:

Sub FormCarga()
OrigSheet = ActiveSheet.Name
Range("A2:D2").Copy
'================== Modificar de acuerdo a tus datos reales
HojaDest = "Hoja2"
Firstcell = "A1"
'==================
Sheets(HojaDest).Select
Range(Firstcell).Select
LCol = Selection.Column
LCell = Selection.Row
LCell = LCell + Selection.CurrentRegion.Rows.Count
Cells(LCell, LCol).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Cells(LCell, LCol).Select
Sheets(OrigSheet).Select
Range("A2:D2").ClearContents
Range("A2").Select
End Sub

(Hay dos variables entre las líneas de ==== que deberás reemplazar por tus datos propios. Corresponden a la hoja donde se deben volcar los datos y la primer celda superior de la derecha donde comienza tu tabla)

Esta macro sirve para identificar la última celda ocupada en la hoja de carga y allí pega los datos cargados, luego, borra la hoja original para una nueva carga.

Cierra el editor de Visual Basic y graba el archivo.

Pruebalo y dime si funciona OK.

Espero que esto ayude a resolver tu problema. Si así fuera, agradeceré un comentario y que la finalices.
(Recuerda que mantener cierto número de respuestas pendientes impide que otros usuarios puedan consultarme)

Un abrazo!
Fernando

"Me lo explicaron y lo olvidé,
lo leí y lo entendí,
lo hice y lo aprendí".


*====================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
(Considera que la valoración que figura predeterminada
es 3/5. Tal vez quieras cambiarla....)
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó. Gracias...
*====================================*
04/12/2008
juanemilio, usuario preguntando en Microsoft Excel
Usuario
Lo estoy probando ahora. Estoy realmente impresionado del funcionamiento de esta pagina que de tan grande ayuda nos es.
Cuando lo logre hacer funcionar te lo comunico. Quiero ademas saber si es posible esto que te comento ahora. Puedo hacer que si en una celda tengo un cierto valor, se ejecute una animacion cargada en power point? Sabes como podria hacer eso?
Muchas gracias otra vez. Te dejare saber si consigo hacerlo, y si no, te volvere a preguntar.
Enlaces patrocinados