Botón para enviar cierta información a otra hoja

Hola amigo experto.-
Disculpa que te moleste, y abusando de tu amabilidad y tiempo quisiera saber si me puedes ayudar con una inquietud grandísima.
Hace algunos días realice una pregunta aquí en todo expertos pero no pudieron ayudarme del todo el usuario que me hizo favor de contestar mi pregunta (gran peque) me hizo favor de realizarme un pequeño ejemplo pero no fue funcional.
¿Tu me podrías ayudar con la inquietud que tengo? La pregunta fue la siguiente:
Tengo en una hoja de excel una plantilla
En la columna A con la numeración de los alumnos 1,2,3, etc hasta el 22
En la columna B el nombre de los alumnos y de la C hasta la M información interna que no tiene relevancia
Y en la columna N una columna que denomine "INCIDENCIAS" del día, que yo tecleo a diario (ejem. No vino, se va temprano, etc)
Como esa plantilla tengo 20 diferentes y después en la hoja 21 hago un resumen de las 20 de todas las incidencias que hubo en el día. Por lo cual tengo que copiar y pegar las incidencias a la hoja 21 quisiera saber si hay alguna programación para pasar las incidencias diarias a la hoja21 sin necesidad de seleccionar copiar y pegar
Yo tengo este ejemplo que ocupo en otra hoja y que copia un rango especifico en este caso la (B1) y la envía a la hoja resumen pero creo que seria muy complicado poner 20 botones que son los alumnos que hay en cada plantilla .
Habrá alguna forma más fácil de simplificar mi trabajo donde se puedan colocar en una forma que yo determine.
Muchas gracias ojala me puedan ayudar se los agradecería infinitamente.
O algún ejemplo que yo pueda adaptar.
¿Gracias?
Si gusta le puedo enviar la plantilla para que se de una idea.
Private Sub CommandButton1_Click()
    With Sheets("RESUMEN").Range("B65536").End(xlUp)
        .Offset(1, 0) = Sheets("PLANTILLA").Range("B1")
      End With
Application.CutCopyMode = False
MsgBox "REGISTRO ENVIADO", vbOKOnly, "INCIDENCIAS"
End Sub

1 respuesta

Respuesta
1
Confirma lo siguiente.
Deseas copiar de cada hoja el rango N2:¿N23 ( supongo que en N1 existe un rotulo) a la columna B de la hoja resumen en orden secuencial?.
Si, Mire. El orden es así.
De la linea 1 hasta la 7 son rótulos.
En la linea 8 y 9 es el encabezado de la planilla.
Y a partir de la A10 y hasta la N40 es la plantilla como tal.
En donde desde la N10 y hasta la N40 voy anotando múltiples incidencias en cada renglón según se presenten en el día (pueden ser varias al rededor de 15) que son las mismas para todos los alumnos.
El problema es que solo ciertas incidencias son las que yo paso a mi hoja final denominada resumen de incidencias.
Esta plantilla la ocupo para llevar un control de alumnos que ocupan transporte escolar en una escuela en la cual laboro y la clumna N de incidencias determina que alumnos se van o no al cambio escolar las incidencias que afectan o que hacen que yo haga el resumen son las siguientes (viene su mama, viene su papa, viene chófer, se queda a actividades deportivas) y otra que es muy especial (alumno que se lleva a invitados que puede ser desde un invitado hasta 30)
Las incidencias que descarto por que no afectan el movimiento son Ausente, o se fue de la escuela.
Y las voy acomodando por bloques o en orden primero los alumnos con las incidencias descritas primero.
Y después alumnos con incidencias de invitados y los voy separando por bloques para no estar buscándolos en toda la hoja de resumen de incidencias.
Pues la verdad si es muy laborioso y como tal cada que tecleo una incidencia la voy seleccionando, copiando, y pegando al momento para que no haya confusión según en el bloque que corresponda (bloque de incidencias normal, o bloque de incidencias alumnos con invitados) el rango que voy seleccionando copiando y pegando siempre es el mismo nombre alumno que corresponde a la columna B grado y grupo E y F e Incidencias que es la N
Creo que es muy complicado verdad! :-( Pero seria de mucha utilidad automatizar mi trabajo diario UFFFFFFF.
Ojala me pudiera ayudar, si gusta le envío la plantilla para que se de una idea.
Saludos Cordiales
Mmmm... mira creo que te estas complicando al poner tantas especificaciones de incidencias, pero bueno tu te entiendes.
Mira lo que tengo es una macro que te copiara el rango de n10:n40 de cada hoja a la hoja resumen en la columna b en forma secuencial, ya lo otro es aplicar filtros a los datos copiados o en base a esa data copiada, realizar una tabla dinámica que es mucho más beneficioso, productivo y sencillo para términos de manejar datos como estos, recuerda que Excel, no es una base de datos relacional... es solo una planilla de calculo, las personas insisten en utilizar una herramienta para trabajos que no necesariamente esta diseñada. En fin.
Me avisas
Ok, si he pensado eso que me mencionas pero no he encontrado el software para realizar mi trabajo.
Si, si eres tan amable de pasarme la macro que me mencionas igual es más fácil.
Gracias por tu tiempo y por tu ayuda.
Aquí va
Private Sub CommandButton1_Click()
Dim I As Integer
For I = 1 To (Sheets.Count - 2)
  Sheets(Sheets.Item(I).Name).Select
  Range("A10", "N40").Select
  Selection.Copy
  Sheets("RESUMEN").Select
  Range("B65536").End(xlUp).Select
  Cells(Selection.Row + 1, 2).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
Application.CutCopyMode = False
DoEvents
Next
[B1].Select
MsgBox "REGISTRO ENVIADO", vbOKOnly, "INCIDENCIAS"
End Sub
Esta en el evento click del boton1
Recorrerá todas las hojas del libro y pegara los resultados en Resumen
Hola
Si, esta perfecto ya lo demás como dices es aplicar filtros. Solo que me marca un error en esta instrucción:
Sheets(Sheets.Item(I).Name).Select
Y para poner que la copia en la hoja destino comiencen en la fila b, ¿10
solo es modificar aquí verdad?
Cells(Selection.Row + 1, 2).Select
Muchas gracias
¿Qué error te da?... a mi me corre OK
Ahora para que pegue los datos desde b10 es necesario que en b10 exista algo, por ejemplo un rotulo, un punto ... etc
El error es el siguiente.
Se ha producido el error 1004 en tiempo de ejecución
error en el método select de la clave worksheet
no se a que se deba.
De todo lo demás ok
Es una excelente solución muchas gracias por tu ayuda.
Eres Grande.
Mmmm...
Veamos, ese error atiende al select, pero se da en función de que hubiese error en el nombre de la hoja sobre el cual se selecciona un rango, en el macro he utilizado
  Sheets(Sheets.Item(I).Name).Select
Por cuanto no importa que nombre pueda tener la hoja ya que invoco la hoja mediante su numero de item... no logro replicar el error. Es decir me funciona Ok
si deseas te envío vía mail la hoja de prueba. Por mi parte no tengo más anda que aportar al respecto.
¿Si puedes enviarla te agradeceré igual puedo buscarle no?
funchp(a)hotmail.com
Por lo demás todo esta excelente.
Gracias por tu valiosa ayuda.
Es grandioso poder contar con gente experta como tu.
Un cordial saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas