2011-11-28 11 views
24

Tengo una declaración if con múltiples condiciones. No puedo verlos a todos en una vista de ventana única. ¿Hay alguna manera de separarlos en líneas diferentes o tienen que escribirse todos en una línea?Si la declaración con múltiples líneas

+0

Creo que debo ser la única persona que lo ratifica todo en una línea, incluso en muchas páginas, me resulta difícil seguir dividido en líneas separadas – DevilWAH

+0

eso está bien^_^ – Yokhen

Respuesta

42

El carácter de continuación de línea VBA es un subrayado _

if (_ 
    (something) _ 
    or (somethingelse) _ 
) 
+0

¡Gracias, funcionó! – Yokhen

1

divídalos con un puntaje inferior a?

Microsoft Library

desde arriba enlace

If ActiveSheet.ChartObjects(1).Chart.ChartTitle = _ 
     ActiveSheet.Range("a2").Value Then 
    MsgBox "They are equal." 
End If 
0

im bastante seguro de que puede utilizar un guión bajo _ para romper las líneas.

+0

Lo intenté ... pero no lo hice no funciona Sin embargo, una de las respuestas funcionó. – Yokhen

+0

de memoria puede ser un poco quisquilloso en cuanto a dónde se le permite dividir una línea. – smitec

+0

@Yokhen, por favor, cierre su pregunta. ¡Está muy ocupado ya! – brettdj

11

Usted puede utilizar el carácter de continuación de línea _

Estos son todos iguales:

If Something Or SomethingElse Or AnotherThing Then 

If Something Or SomethingElse _ 
    Or AnotherThing Then 

If Something Or _ 
    SomethingElse Or _ 
    AnotherThing Then 
2

Al igual que el anterior, puede dividir el conjunto largo de condiciones en una declaración "IF" utilizando un guión bajo.

Si hay demasiadas condiciones y me resulta difícil de leer, uso BOOLEANS para representar las condiciones. Parece que hay más código, pero me resulta más fácil de leer.

Si tengo un escenario en el que tengo que hacer lo siguiente:

IF (X = something1) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) OR (X = something2) THEN 
END IF 

que podía hacer esto:

IF _ 
    (X = something1) _ 
    OR (X = something2) _ 
    OR (X = something3) _ 
    OR (X = something4) _ 
    OR (X = something5) _ 
    OR (X = something6) _ 
    OR (X = something7) _ 
    OR (X = something8) _ 
THEN 
END IF 

... o que podría hacer esto ...

blnCondition1 = (X = something1) 
blnCondition2 = (X = something2) 
blnCondition3 = (X = something3) 
blnCondition4 = (X = something4) 
blnCondition5 = (X = something5) 
blnCondition6 = (X = something6) 
blnCondition7 = (X = something7) 
blnCondition8 = (X = something8) 

IF blnCondition1 OR blnCondition2 OR blnCondition3 OR blnCondition4 OR blnCondition5 OR blnCondition6 OR blnCondition7 OR blnCondition8 THEN 
END IF 

Por supuesto, las variables BOOLEAN de ejemplo están definidas, y en lugar de nombres como blnCondition1, usaré nombres significativos.

De nuevo, es solo una preferencia que tengo.

Cuestiones relacionadas