Ayuda macro copiar y pegar

Saludos señor gonzales espero me pueda ayudar,
mi problema es el siguiente, la verdad no soy
muy bueno en esto de las macros pero necesito hacer
una macro que de una tabla de datos dependiendo
el día lo que diga y la hora me los copie a otra hoa
en excel, ademas de que si ya hay datos que no sobrescriba más o menos así
Hoja de donde están los datos
hoja_datos
A1            B1         C3                        D4
Día,         Nombre, Horario entrada, Descripción
3/3/09    rene        7                          rene gomez
4/3/09      anna      9                        anna gomez
5/3/09      lui           6                        luis teo
necesito que se copie en la siguiente tabla dependiendo del nombre, la hora de entrada y la fecha
Mes Marzo Dia 1, Dia 2, Dia 3, Dia 4, Dia5
Dia y fecha                    
De 6 a 7am                     rene            luis
De 8 a 9am                              anna
De 9 a 10 am
Espero me puedan ayudar ya realice una macro que sirve muy bien para eliminar los espacios muertos
For ag = 12 To 107
Range("AG" & ag).Select
If (ActiveCell.Value = "") Then
ActiveCell.Value = "no-entrada"
End If
Next ag
Esto es parte del código que creo que me sirve pero hasta el momento no me ha
funcionado muy bien
Worksheets("Hoja4").Activate
Fin = 100
 Range("A2").Select
For x = 2 To Fin
  Cells(x, 1).Select
  If (ActiveCell.Value = "3") Then
  Worksheets("hoja_datos").Activate
  For celda = 12 To 17
  Range("E" & celda).Select
  If (ActiveCell.Value = "") Then
  ActiveCell.Value = "rene"
  End If
Next celda
End If
Next x
 End
Espero que me haya entendido y me pueda ayudar, de ante mano muchísimas gracias por su tiempo, bye

1 respuesta

Respuesta
1
Prueba primero quitando los paréntesis que hay en los If.
Saludos.
Ha quedado de la siguiente forma pero creo que se tarda mucho, ¿me podrías ayudar?
Worksheets("Hoja4").Activate
Range("B2").Select
For y = 2 To 27555
siguiente:
Range("B" & y).Select
If ActiveCell.Value = "rene" Or ActiveCell.Value = "jorge" Or ActiveCell.Value = "kimba" Or ActiveCell.Value = "anna" Or ActiveCell.Value = "mauricio" Or ActiveCell.Value = "diego" Or ActiveCell.Value = "luis" Or ActiveCell.Value = "carlos" Or ActiveCell.Value = "estrella") Then
'If ActiveCell.Value = "estrella" Then
ActiveCell.Copy
Range("C" & y).Select
If ActiveCell.Value = "2" Then 'dia
Range("D" & y).Select
If ActiveCell.Value = "6" Then 'horario
Range("E" & y).Select
If ActiveCell.Value = "oficina2" Then ' oficina
Range("H" & y).Select
If ActiveCell.Value = "copiado" Then
ElseIf ActiveCell.Value = "" Then
ActiveCell.Value = "copiado"
Worksheets("asistencia").Activate
For celda = 12 To 100
Range("E" & celda).Select
If (ActiveCell.Value = "") Then
ActiveCell.PasteSpecial
'ActiveCell.Value = "estrella"
Worksheets("Hoja4").Activate
GoTo siguiente
Exit For
End If
Next celda
End If
End If
End If
End If
End If
Next y
si tambien me la pueden optimisar estaria mejor, de ante mano muchisimas gracias por su tiempo
Ya veo que no me entendiste, mándame tu archivo con las preguntas y te ayudo.
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas