Visual Basic para Aplicaciones - Línea demasiado larga

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 7 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Línea demasiado larga

Publicado por Susana (9 intervenciones) el 04/05/2018 15:03:35
Buenas gente!

Requiero de vuestra ayuda. Estoy haciendo una automatización de informes y tengo una línea demasiado larga. He probado con &; & _; _; ...y me da error, no se si es porque se trata de una resta, o porque, pero me estoy empezando a volver loca!!! jajaj

Agradecería vuestra ayuda, dejo la línea larga:

1
2
3
4
5
Cells(157, lcol) = _
"=+IF(RC1<>"""",SUMIFS(Extrac_V!C35,Extrac_V!C2,R1C2,Extrac_R!C30,""*""&RC1&""*"")-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C49,R24C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C49,R38C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C49,R51C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R64C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R77C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R90C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R103C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R116C1),0)-IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R129C1),0),"""")-_"
((((hasta aquí todo bien, es en la siguiente línea donde salta el error ))))
 
"IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*"" & RC1 & ""*"",Extrac_R!C20,R90C1),0),"""")"

ponga el marcador que ponga me salta el mismo error, "Se esperaba nº de línea, o etiqueta o declaración o fin de la instrucción

Muchas gracias

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Línea demasiado larga

Publicado por JuanC (565 intervenciones) el 04/05/2018 15:23:51
al final de la línea y para seguir debajo debe ser:

Dim s$
s = "a" & _
"b"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Línea demasiado larga

Publicado por Antoni Masana (498 intervenciones) el 05/05/2018 11:43:54
La linera 2 termina con:

1
,Extrac_R!C20,R129C1),0),"""")-_"

Donde las comillas son el resultado del primer IF / SI si no cumple la condición y ultima paréntesis el sierre del primero, y sobren estos dos carácteres: -_

Por otro lado el codigo se lee mejor asi

1
2
3
4
5
6
7
8
9
10
Cells(157, lcol) = "=+IF(RC1<>"""",SUMIFS(Extrac_V!C35,Extrac_V!C2,R1C2,Extrac_R!C30,""*""&RC1&""*"")-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C49,R24C1 ),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C49,R38C1 ),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C49,R51C1 ),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R64C1 ),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R77C1 ),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R90C1 ),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R103C1),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R116C1),0)-" & _
   "IFERROR(SUMIFS(Extrac_R!C35,Extrac_R!C1,R1C2,Extrac_R!C30,""*""&RC1&""*"",Extrac_R!C20,R129C1),0),"""")


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar