Ayuda con los problemas de mis macros en Microsoft Excel
Hola,
estoy intentando hacer una macro que haga que cambie el color del fondo dependiendo de la palabra que se escriba en una celda (que viene de una lista que he hecho con una macro con la herramienta "Grabar nueva macro" y se ha colocado en Módulos) La macro para cambiar los colores la he hecho a mano ya que son 6 las palabras posibles y el formato condicional sólo permite 3 condiciones. El problema es que cuando borro una fila en la que una de las celdas está asociada a la macro en cuestión, me da "Error 13 en tiempo de ejecución. No coinciden los tipos". No sé cómo quitar este error ni si hay una mejor manera de realizar esto que he contado. Gracias de antemano por la ayuda.
Un saludo,
Begoña.
Pego aquí la macro:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Set Relcell = Range("H:H")
If Not Application.Intersect(Relcell, Range(Target.Address(False, False))) Is Nothing Then
Application.EnableEvents = False
Target.Font.Bold = True
Select Case Target.Value
Case "Terciario"
Target.Interior.ColorIndex = 35
Case "Secundario"
Target.Interior.ColorIndex = 34
[...]
Case Else
Target.Interior.ColorIndex = xlNone
End Select
Application.EnableEvents = True
End If
End Sub
estoy intentando hacer una macro que haga que cambie el color del fondo dependiendo de la palabra que se escriba en una celda (que viene de una lista que he hecho con una macro con la herramienta "Grabar nueva macro" y se ha colocado en Módulos) La macro para cambiar los colores la he hecho a mano ya que son 6 las palabras posibles y el formato condicional sólo permite 3 condiciones. El problema es que cuando borro una fila en la que una de las celdas está asociada a la macro en cuestión, me da "Error 13 en tiempo de ejecución. No coinciden los tipos". No sé cómo quitar este error ni si hay una mejor manera de realizar esto que he contado. Gracias de antemano por la ayuda.
Un saludo,
Begoña.
Pego aquí la macro:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Set Relcell = Range("H:H")
If Not Application.Intersect(Relcell, Range(Target.Address(False, False))) Is Nothing Then
Application.EnableEvents = False
Target.Font.Bold = True
Select Case Target.Value
Case "Terciario"
Target.Interior.ColorIndex = 35
Case "Secundario"
Target.Interior.ColorIndex = 34
[...]
Case Else
Target.Interior.ColorIndex = xlNone
End Select
Application.EnableEvents = True
End If
End Sub
1 respuesta
Respuesta de jrgces
1
