Cambiar el color de una celda desde otro libro con VBA

Tengo 2 libros, en el cual desde libro1 uno al dar condición verdadera me cambie el color de la celda verde de otro libro2, y si es falso a rojo, este es el código que utiliza, pero me marca el objeto no admite esta propiedad, lo intente con with y me marca error de sub indice.

Me pueden asesorar.

Set objExcel2 = CreateObject("Excel.Application")
With objExcel2
        With .Workbooks.Open(direccion)
    fin2 = .Worksheets("COTIZ. ABIERTAS").Range("e" & Rows.Count).End(xlUp).Row
            For ii = fin2 To 5 Step -1
                cadena2 = extraenum(.Worksheets("COTIZ. ABIERTAS").Cells(ii, 5))
                tiposerv = .Worksheets("COTIZ. ABIERTAS").Cells(ii, 21)
                If cadena2 = cot Then  ' busco numero de cotizacion de reporte en libro de servicio al cliente
                                   INVENTARIO = .Worksheets("COTIZ. ABIERTAS").Cells(ii, 22)
                                    pendientes = INVENTARIO - inspeccionadas
                                    If INVENTARIO < inspeccionadas Then
          AQUI ME MARCA EL ERRROR           .Worksheets("COTIZ. ABIERTAS").Cells(ii, 26).Interior.Index = 3 ' el 3 color rojo
                                    ElseIf INVENTARIO = inspeccionadas Then
                                            .Worksheets("COTIZ. ABIERTAS").Cells(ii, 26).Interior.Index = 4  'el 3 color verde
                                    End If
                                    .Worksheets("COTIZ. ABIERTAS").Cells(ii, 25) = pendientes
                                    .Worksheets("COTIZ. ABIERTAS").Cells(ii, 23) = inspeccionadas
                    Exit For
                End If
            Next ii
            .Close SaveChanges:=True
        End With
    .Quit
End With

1 respuesta

Respuesta
1

03/11/16

Hola, José Luis

En realidad, donde dice:

Interior. Index

Debería decir:

Interior. COLORIndex

Así:

If INVENTARIO < inspeccionadas Then
.Worksheets("COTIZ. ABIERTAS").Cells(ii, 26).Interior.COLORIndex = 3 ' el 3 color rojo
 ElseIf INVENTARIO = inspeccionadas Then
 .Worksheets("COTIZ. ABIERTAS").Cells(ii, 26).Interior.COLORIndex = 4  'el 3 color verde
End If

Me parece que por esto genera el conflicto.

Pruebalo y dime.

Saludos

Fer

.

¡Gracias por tu apoyo! 

Gracias, si ese era mi gran error.

.

Un placer!

Siempre viene bien que lo vea otro. Uno, metido en el código, puede pasar por arriba del error muchas veces y no notarlo.

Abrazo

Fer

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas