Hola necesito una macros que aplique una doble condicional if

Hola, estoy intentando hacer una macros para que detecte del rango (A3:A2000) una letra y del rango (C2:C2000) un número, y si esta letra es P y el número es mayor que cero pueda darle una formato específico (Arial 16, con negrita, y relleno de celda color celeste claro) a un conjunto de celdas que están dentro de el rango (B4:JZ2000)..... Por favor ayuda !!!

1 Respuesta

Respuesta
1

Te paso mi solución

Sub proceso()
'por luismondelo
p1 = 0
p2 = 0
For Each celda In Range("a3:a2000")
If celda.Value = "P" Then p1 = p1 + 1
Next
For Each celda In Range("c2:c2000")
If celda.Value > 9 Then p2 = p2 + 1
Next
If p1 <> 0 And p2 <> 0 Then
Range("b4:jz2000").Select
With Selection
.Font.Name = "Arial"
.Font.Bold = True
.Font.Size = 16
.Interior.Color = RGB(220, 230, 241)
End With
End If
End Sub

recuerda finalizar

Hola ! yo no deseo que se pinte toda la tabla ! rango (B4:JZ2000), si no tan sólo las celdas que sean la intersección de la fila en donde esta la letra P, con las columnas rango (C2:C2000) cuyo valor sea mayor a cero

Ok, esta sería la macro:

Sub proceso()
'por luismondelo
p1 = 0
p2 = 0
For Each celda1 In Range("a3:a2000")
If celda1.Value = "P" Then p1 = p1 + 1
fila1 = celda1.Row
Next
For Each celda2 In Range("c2:c2000")
If celda2.Value > 9 Then p2 = p2 + 1
fila2 = celda2.Row
Next
If p1 <> 0 And p2 <> 0 Then
Range(Cells(fila1, 1), Cells(fila2, 286)).Select
With Selection
.Font.Name = "Arial"
.Font.Bold = True
.Font.Size = 16
.Interior.Color = RGB(220, 230, 241)
End With
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas