Colocación de datos en otra hoja.

01/11/2008 - 19:54 por Goldberg00 | Informe spam
Hola,

De nuevo. Abro un post haciendo referencia a uno que amablemente me contestó
Juan hace unos días. La contestación está muy bien pero genera un proceso
inverso al que yo propongo y necesito resolver.

Lo que venía a decir es que, en una hoja he preparado mucha información y
además el usuario puede rellenar una serie de campos a base de menús
combinados y otros campos en los que puede rellenar texto. El caso es que la
suma de estos campos generarán una línea de datos en una base de datos que
está "oculta" en otra hoja en el mismo libro. Mi idea es que se puedan ir
colocando los datos en una *línea siguiente* a medida que se van incorporando
en la hoja principal de información y captación de datos.

La propuesta de Juan de que se abra un cuadro de diálogo en la misma hoja
donde está la BD y en función a los epígrafes situados en la primera línea,
es genial pero no me sirve para lo que tengo creado y que es con lo que
estamos funcionando actualmente.

Un saludo por adelantado y gracias! (también a ti Juan :)

G·00

WinXP Pro + Office 2003, SP3.


* * * * * * * * * * * * * * * * * * * * * *
Como referencia, esto es lo que Juan decía:

En la versión 2003, existe en el menú Datos una opción que es formulario. Si
tienes unos encabezados con los nombres de cada columna al ejecutar el
comando te aparece un formulario donde te va pidiendo cada uno de los
campos, al terminar el proceso de inserción de datos te los añade al final
de la lista.

En la versión 2007 creo que también exista pero no te sabría decir donde
encontrarlo.

Un saludo,
Juan



Y ésta era la pregunta original por si sirve de algo.
"Goldberg00" escribió


Hola a tod@s!

Tengo una hoja de cálculo en la que voy rellenando determinadas variables
y
me gustaría que se fueran recolocando en otra hoja del mismo libro a modo
de
base de datos. Es algo como del tipo de, por ejemplo, datos personales.
Cuando has terminado de introducir los datos (nombre, dirección,
fnacimiento,
etc.) das en un botón y te lo coloca en ese libro.

Hasta ahora puedo hacerlo pero sólo con una fila. Lo que no sé es cómo ir
agregando filas debajo de la anterior ¿VBA, fórmulas?

Gracias!

G00
 

Leer las respuestas

#1 Ivan
02/11/2008 - 00:55 | Informe spam
hola

en una hoja he preparado mucha información y
además el usuario puede rellenar una serie de campos a base de menús
combinados y otros campos en los que puede rellenar texto. El caso es que la
suma de estos campos generarán una línea de datos en una base de datos que
está "oculta" en otra hoja en el mismo libro. Mi idea es que se puedan ir
colocando los datos en una *línea siguiente* a medida que se van incorporando
en la hoja principal de información y captación de datos.



creo que, para poder facilitarte una rspuesta un poco cercana a 'tu'
realidad, no estaria de mas si facilitaras algunos datos mas concretos
de que, como y cuando quieres hacer, todo ello en "terminos de excel",
es decir, por ej.=>

a) donde estan los datos de origen. Es decir, en que celdas, objetos,
o lo que sea, introduce el usuario los datos que luego han de pasarse
a la 'base de datos'.

b) cuales son los campos/columnas de destino en la 'BD'

c) como o en funcion de que ha de saber excel que ya se han acabadao
de cargar los nuevos datos en la hoja de 'captacion' y que hay que
cargarlos como nuevo registro en la 'BD'

d) posiblemente algunos factores mas que se me escapan

bueno, en cualquier caso, por si te sirve de orientacion para empezar,
lo primero que deberias saber, a la hora de cargar el nuevo registro
en la BD es cual es la 1ª fila libre, para lo cual una posibilidad
seria, en la columna que sepas que siempre ha de contener datos (por
ej. el campo clave o principal, que como 'buena' base de datos deberia
contener esta) hacer algo asi =>

suponiendo que el mencionado campo clave esta en la columna A de la
hoja "BD" y que comienzan en A1 (Titulo de campo) y que los datos de
la hoja de captacion estan en pej.A2:e2

with Worksheets("BD")
.range(.cells(.[a1].currentregion.rows.count + 1,1), _
.cells(.[a1].currentregion.rows.count + 1,5)).value = _
worksheets("captacion").[a2:e2].value
end with

bueno, es un ejemplo un poco cutre, pero creo que sin mayores datos es
dificil decir mucho mas, aunque las posibilidades si son muchas

un saludo
Ivan

a) para saber el nº de fila de la primera fila libre:

Dim Fila as Long
with Worksheets("Nombre_de_Hoja_BD")
Fila = .cells(

Preguntas similares