Hola expertos,
tengo un pequeño problema:
he creado una función en VB que se asigna como fórmula a una celda y lo que
hace es, en función del valor que pongas, modificar el color de otras. Por
ejemplo, asigno la formula a la celda c4 = LMB_HORARIO("c4"), la función lo
que hará es en la fila 4 pintar varias celdas (f4,g4,h4,i4) de diferente
color. Pues bueno, cuando intento asignar ese color a las celdas susodichas
me da un error 1004 y no me lo hace. Supongo que tendrá que ver con que
realiza el cálculo estando el foco dentro de la celda C4 y, por lo tanto, no
puede modificar otras... ¿Hay alguna solución a esto? Paso el código:
Function LMB_HORARIO(strTurno As String) As String
Const c_Red = 92
Const c_Green = 0
Const c_Blue = 0
Dim strName As String
Dim iFila, iCol As Integer
Select Case strTurno
Case "c1" 'De 10 a 14 y de 16 a 19
LMB_HORARIO = strTurno
Call LMB_PINTA(ActiveCell.Row, 6, 9, 92, 0, 0)
Call LMB_PINTA(ActiveCell.Row, 12, 14, 92, 0, 0)
Case Else
LMB_HORARIO = strTurno
End Select
End Function
Sub LMB_PINTA(iFil As Integer, iIni As Integer, iFin As Integer, iRed As
Integer, iGreen As Integer, iBlue As Integer)
Dim m As Integer
Dim strName As String
strName = ActiveSheet.Name
For m = iIni To iFin
Cells(iFil, m).Select
With Selection.Interior
.Color = RGB(iRed, iGreen, iBlue)
End With
Next m
End Sub
Otra cosa, ¿Cómo puedo hacer para que estas fórmulas creadas personalmente y
asignadas a una celda se actualicen automáticamente?
Muchas gracias y saludos,
luism.:-)
Leer las respuestas