Optimización IF
Elsa muy buenos días, una pregunta:
En una macro tengo una línea de código que evalúa el valor de una celda y lo compara con diferentes valores, si es diferente se lo salta pero si es igual lo copia a otra hoja. La macro funciona pero me gustaría saber de que manera puedo optimizar la línea de la instrucción If, ¿imagino qué debe haber alguna manera de ahorrase tantos?Or ActiveCell. Value=?
?.
While ActiveCell.Value <> ""
If ActiveCell.Value = 1233 Or ActiveCell.Value = 1275 Or ActiveCell.Value = 1289 Or ActiveCell.Value = 1333 Or ActiveCell.Value = 1433 Or ActiveCell.Value = 1522 Or ActiveCell.Value = 1552 Or ActiveCell.Value = 1999 Or ActiveCell.Value = 2999 Or ActiveCell.Value = 3043 Or ActiveCell.Value = 3339 Or ActiveCell.Value = 5555 Or ActiveCell.Value = 5934 Or ActiveCell.Value = 7037 Or ActiveCell.Value = 7341 Then
With Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(0, 6))
.Select
.Cut
End With
?..
Agradeciendo la atención prestada,
Luis F.
En una macro tengo una línea de código que evalúa el valor de una celda y lo compara con diferentes valores, si es diferente se lo salta pero si es igual lo copia a otra hoja. La macro funciona pero me gustaría saber de que manera puedo optimizar la línea de la instrucción If, ¿imagino qué debe haber alguna manera de ahorrase tantos?Or ActiveCell. Value=?
?.
While ActiveCell.Value <> ""
If ActiveCell.Value = 1233 Or ActiveCell.Value = 1275 Or ActiveCell.Value = 1289 Or ActiveCell.Value = 1333 Or ActiveCell.Value = 1433 Or ActiveCell.Value = 1522 Or ActiveCell.Value = 1552 Or ActiveCell.Value = 1999 Or ActiveCell.Value = 2999 Or ActiveCell.Value = 3043 Or ActiveCell.Value = 3339 Or ActiveCell.Value = 5555 Or ActiveCell.Value = 5934 Or ActiveCell.Value = 7037 Or ActiveCell.Value = 7341 Then
With Range(ActiveCell.Offset(0, 0), ActiveCell.Offset(0, 6))
.Select
.Cut
End With
?..
Agradeciendo la atención prestada,
Luis F.
1 Respuesta
Respuesta de Elsa Matilde
1