Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2012, 11:20
ricardoleonalonso
 
Fecha de Ingreso: julio-2012
Ubicación: Tenerife
Mensajes: 1
Antigüedad: 11 años, 9 meses
Puntos: 0
Macro no se activa al pegar datos.

Buenas queridos amigos,

Un amigo y yo llevamos días intentando finalizar una macro para una aplicación de turnos de nuestro trabajo. Hemos desplegado los días del año en la columna B y los nombres en la fila 6. El caso es que la siguiente macro nos permite variar el color según el indicativo de la celda inferior derecha (rango de cada casilla de turnos 2:3)

Pues bien, hemos conseguido que al indicar en esta celda inferior derecha, "BAJA", "VAC", "L", etc... copie el valor de la celda que se encuentra a la izquierda de esta, en un rango de celdas que se encuentra mucho más abajo (3000 filas más abajo) para después sumarlos o tratarlos según nos interese. Sin embargo nuestra macro no consigue leer el dato si es copiado y pegado!!! SOS!!! Nos vamos a volver locos!!! Hemos intentado de todo.... y cuando digo de todo... es de todo.

Cita:
Private Sub Worksheet_Change(ByVal Target As Range)

If (Target.Column / 2) = Int((Target.Column / 2)) And Target.Row <= 2529 Then
Select Case Target.Value
Case Is = "BAJA", "baja"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 27
'OLI: ESTE CASE HACE REFERENCIA A LAS HORAS INDICADAS EN EL CUADRO
Case Is = "BAJAH", "bajah"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 27
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 27
'OLI: ESTE CASE HACE REFERENCIA A LAS HORAS INDICADAS EN EL CUADRO
Case Is = "HSH", "hsh"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 45
'OLI: ESTE CASE HACE REFERENCIA A LAS HORAS INDICADAS EN EL CUADRO
Case Is = "CUH", "cuh"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 37
Case Is = "VAC", "vac"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 35
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 35
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 35
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 35
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 35
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 35
Case Is = "EXC", "exc"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 16
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 16
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 16
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 16
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 16
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 16
Case Is = "NO", "no"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 15
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 15
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 15
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 15
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 15
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 15
Case Is = "LR", "lr"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 38
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 38
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 38
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 38
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 38
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 38
Case Is = "LNR", "lnr"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 46
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 46
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 46
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 46
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 46
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 46
Case Is = "ABS", "abs"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 3
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 3
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 3
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 3
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 3
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 3
Case Is = "SES", "ses"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 9
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 9
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 9
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 9
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 9
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 9
Case Is = "L", "l", " "
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 2
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 2
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 2
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 2
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 2
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 2
Case Is = "JT", "OFI", "SUP", "GES", "RRHH", "jt", "ofi", "sup", "ges", "rrhh"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 39
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 39
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 39
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 39
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 39
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 39
Case Is = "HS", "hs"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 45
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 45
Case Is = "CU", "cu"
Cells(LTrim(Str(Target.Row)), Target.Column).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 1, Target.Column).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)), Target.Column - 1).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 1, Target.Column - 1).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 2, Target.Column).Interior.ColorIndex = 37
Cells(LTrim(Str(Target.Row)) - 2, Target.Column - 1).Interior.ColorIndex = 37
Case Else
End Select
End If
End Sub
Saludos cordiales,
Ricardo