Como pasar datos de una hoja a otra...

Hola, ELsa, Saludos desde Mexico
Espero, que puedas ayudarme, tengo el siguiente problema
En mi hoja1 tengo una lista de 100 personas, cada persona pertenece a un grupo(supongamos, recursos humanos, recepción etc...)
En mi hoja2 tengo las BD de recursos humanos
En mi hoja3 tengo las BD de recepción etc...
Como puedo desde la hoja1 ir insertando mis elementos en sus diferentes BD (hojas), si lo quierohacer insertando un botón por cada grupos, tal que cuando seleccione a la persona dela lista que se encuentra en hoja1 le de click a su botón correspondiente y me lo vaya insertando uno debajo de otro
Por tu tiempo, muchas gracias.

1 Respuesta

Respuesta
1
Vamos a ver si comprendí bien el problema...
Supuse que en una hoja Origen, tendrás varios botones con nombres, como RecHum, Recepción, etc. y querés que al dar clic en uno te copie la fila, o sea si estás en la celda de Pérez, al dar clic en Recepción agrega esta fila a esa hoja.
Entonces cada botón tendrá su macro (al dibujarlos te aparecerá la opción de crear macro) cancela y luego las copias todas juntas..
Con Alt+F11 llamás al Editor, insertá Módulo y pegá lo siguiente:
Sub Botón1_AlHacerClic()
hoja = "RecHum"
Call categorias(hoja)
End Sub
Sub Botón2_AlHacerClic()
hoja = "Recepción"
Call categorias(hoja)
End Sub
Sub categorias(hoja)
Dim filavacia As Integer
Dim rango As String
Application.ScreenUpdating = False
rango = ActiveCell.Address
Sheets(hoja).Select
ActiveSheet.Range("A2").Select
While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Wend
filavacia = ActiveCell.Row 'guarda la primer fila vacía.
Sheets("Origen").Select
ActiveSheet.Range(rango).Select
ActiveCell.EntireRow.Select
Selection.Copy
ActiveSheet.Paste Destination:=Sheets(hoja).Range("A" & filavacia)
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Aclaraciones:
Cambiar el nombre de los botones si hiciera falta.
La hoja con la lista se llama Origen. Cambiala por la tuya, lo mismo que el nombre de las otras hojas en las rutinas de los botones.
Comienza a pegar desde la fila 2. Ajustar ese dato donde dice ActiveSheet. Range (? ¿A2?)
Tendrás que escribir tantas rutinas como botones tengas. Lo único que cambiará es el nombre del botón y de la hoja que llame.
Si esto es lo que necesitabas, agradeceré no olvides FINALIZAR la consulta. Si no espero tus comentarios para que lo sigamos tratando.
Hola Elsa, disculpa la molestia, pero no me quedo muy claro,
mira como le podría yo hacer si tengo dos botón de comando,(esos que saco con la barra de herramientas de visual basic), los cuales al darle click me, muestran el siguiente código:
Private Sub CommandButton1_Click()
End Sub
que codigo les pondria a cada uno para hacer lo que te pregunte anteriormente,;
No se si el lo mismo con lo que contestaste, pero no tengo mucha experiencia en los macros del excel
Gracias por tu tiempo que dedicas a nosotros
los mejores deseos.
ERIK
TE había escrito que cuando dibujes el botón y te aparezca la opción de copiar el código lo canceles y escribas después todas juntas, en el Editor, insertando un módulo. Yo usé botones de la barra de herramientas Formulario y coloqué todas las rutinas en un módulo.
La rutina que va cuando te aparece CommandButton1_clic son las 2 líneas que figuran dentro de Sub Boton1_Alhacerclic, y dentro del CommandButton2 irán las 2 del Boton2
Luego debes llamar al Editor (Alt+F11) y con doble clic en la hoja donde están los datos (que en mi ejemplo se llama Origen) copias la otra rutina Categorías. Tiene que ser la misma hoja donde están las rutinas de los CommandButton.
ATENCIÓN: si le asignas nombre a cada botón la rutina tiene que llamarse con ese nombre. Ejemplo, si al botón lo llamás cmdRecursos la rutina quedará:
Private Sub cmdRecursos_Click ()
Debés modificar el nombre de las hojas ajustando a las tuyas, y agregá esta linea para que se vea mejor:
ActiveCell.Select justo antes del End Sub de la rutina Categorías()

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas